Systems, methods and computer readable mediums for implementing cloud service brokerage platform functionalities

ABSTRACT

A system has a plurality of interconnected platform engine portions for providing cloud service brokerage functionalities. A first platform engine portion enables selection of cloud service offerings available from one or more cloud service providers through assessment of cloud service criteria. A second platform engine portion enables demand for cloud services to be modeled using selected ones of the cloud service offerings. A third second platform engine portion enables virtual data centers (VDCs) to be instantiated by provisioning resources of the selected ones of the cloud service offerings.

CROSS REFERENCE TO RELATED APPLICATIONS

This non-provisional patent application claims priority from theco-pending United States provisional patent application having Ser. No.61/789,865 filed Mar. 15, 2013 entitled “SYSTEMS, METHODS AND COMPUTERREADABLE MEDIUMS FOR IMPLEMENTING CLOUD SERVICE BROKERAGE PLATFORMFUNCTIONALITIES”, having a common applicant herewith, and beingincorporated herein in its entirety by reference.

This non-provisional patent application claims priority from theco-pending United States provisional patent application having Ser. No.61/790,536 filed Mar. 15, 2013 entitled “CLOUD SERVICE BROKERAGE (CSB)PLATFORM ARCHITECTURE/PORTAL USE CASE IMPLEMENTATIONS”, having a commonapplicant herewith, and being incorporated herein in its entirety byreference.

This non-provisional patent application claims priority from theco-pending United States provisional patent application having Ser. No.61/792,998 filed Mar. 15, 2013 entitled “CLOUD SERVICE BROKERAGE (CSB)PLATFORM PORTAL AND CSB PLATFORM ARCHITECTURE FOR PROVIDING SAME”,having a common applicant herewith, and being incorporated herein in itsentirety by reference.

This non-provisional patent application claims priority from theco-pending United States provisional patent application having Ser. No.61/798,567 filed Mar. 15, 2013 entitled “SYSTEM, METHODOLOGY, ANDCOMPUTER READABLE MEDIUM FOR PROVIDING CLOUD SERVICE BROKERAGE (CSB)PLATFORM FUNCTIONALITIES”, having a common applicant herewith, and beingincorporated herein in its entirety by reference.

FIELD OF THE DISCLOSURE

The disclosures made herein relate generally to cloud computingarchitectures and management methodologies and, more particularly, tomethodologies and systems for implementing cloud services through use ofa cloud services brokerage platform.

BACKGROUND

Cloud computing refers to the practice of using a network of remoteservers hosted on a public network (e.g., the Internet) to deliverinformation computing services (i.e., cloud services) as opposed todoing so on a local server. The network architecture (e.g., virtualizedinformation processing environment comprising hardware and software)through which these cloud services are provided to service consumers(i.e., a cloud service consumers) is referred to as “the cloud”, whichcan be a public cloud (e.g., cloud services provided publicly to cloudservice consumers) or a private cloud (e.g., a private network or datacenter that supplies cloud services to only a specified group of cloudservice consumers within an enterprise), or a community cloud (e.g., aset of cloud services provided publicly to a limited set of cloudservice consumers, e.g., to agencies with a specific State/Region or setof States/Regions), dedicated/hosted private cloud, or other emergingcloud service delivery models. The underlying intent of cloud computingis to provide easy, scalable access to computing resources andinformation technology (IT) services to cloud service consumers.

Cloud services can be broadly divided into four categories:Infrastructure-as-a-Service (IaaS), Platform-as-a-Service (PaaS),Software-as-a-Service (SaaS), and Managed Services.Infrastructure-as-a-Service refers to a virtualized computinginfrastructure through which cloud services are provided (e.g., virtualserver space, network connections, bandwidth, IP addresses, loadbalancers, etc). Platform-as-a-Service in the cloud refers to a set ofsoftware and product development tools hosted on the cloud for enablingdevelopers (i.e., a type of cloud service consumer) to buildapplications and services using the cloud. Software-as-a-Service refersto applications that are hosted on and available on-demand by cloudservice consumers via the cloud. Managed Services refers to servicessuch as backup administration, remote system administration, applicationmanagement, security services, etc. that are enabled by managed serviceproviders for any Cloud services.

In general, a cloud service has three distinct characteristics thatdifferentiate it from a traditionally hosted service. The first one ofthese distinct characteristics is that it is sold to a services consumeron demand (e.g., by the minute or the hour). The second one of thesedistinct characteristics is that it is dynamic (e.g., a servicesconsumer can have as much or as little of a service as they want at anygiven point in time). The third one of these distinct characteristics,which applies specifically to public clouds as opposed to private orhybrid clouds, is that the service is fully managed by a cloud servicesprovider (e.g., the services consumer only needs a suitably equippedclient device and network connection). This third functionality isparticularly relevant to public clouds. However, private clouds can bemanaged by an internal IT department or through ITO (IT Outsourcing)contracts. In these examples, I&O (Infrastructure & Operations)administrators act as the cloud provider and, accordingly, this thirdfunctionality would be of similar relevance.

The cloud is rapidly being adopted by business and IT users as a way tomake their organizations more effective and to save costs. Along withthis opportunity comes a new set of pain points and significant risks toenterprises that must be addressed. For example, business users arerapidly investing in their own cloud capabilities (e.g., IaaS, PaaS, andSaaS) to meet business needs while application developers want to moverapidly without the involvement of IT to provision tools andenvironments. These actions are creating a significant threat to ITmanagement whom are worried about considerations such as, for example,managing costs, chargeback, capacity and resources from the result ofunrestrained/unplanned cloud expansion.

FIG. 1 shows an example of a traditional cloud management model 100leading to business unit cloud service users 105 and IT organizationcloud service users 108 (i.e., cloud service users) of a cloud serviceconsumer 110 (e.g., a business, an institution, an individual or thelike) directly implementing cloud services via cloud service providers115 (e.g., IaaS, PaaS, SaaS, ERP, and MS available on one or moreoutside networks) without oversight and/or involvement of a centralizedresource (e.g., IT management). ERP refers to enterprise resourceplanning and MS refers to Managed Services such as security, backup,monitoring and governance services offered by cloud service providers ora CSB platform provider (i.e., the entity that manages and administersthe CSB platform). Examples of the cloud service categories include, butare not limited to, enterprises resource planning services,Infrastructure as-a-Service (IaaS), Platform-as-a-Service (PaaS),Software-as-a-Service (SaaS), and managed services.

There are numerous challenges and limitations in regard to implementingand managing cloud services that arise from the traditional cloudmanagement model 100 discussed above in reference to FIG. 1. Examples ofthese challenges and limitations include, but are not limited to,different portions (e.g., user, entities, departments, etc) of a givencloud service consumer individually buying cloud services; differentportions of a given cloud service consumer purchasing cloud services atdifferent price points from the same cloud services provider; actions ofdifferent portions of a given cloud service consumer creating gaps incurrent business entity processes; disparate billing, payment, contractand settlement process for cloud services of a given cloud serviceconsumer being created; IT interests of a given cloud service consumerbeing required to undertake actions such that it mimic a cloud serviceprovider; existence of inconsistent service management andservice-level-agreement (SLA) compliance across cloud service providers;and loss of effectiveness in implementing and managing cloud servicesdue to broken processes across business, IT demand and supplyorganizations.

Accordingly, underlying problems that exists in cloud computing is thatthe need for intermediaries to aggregate, integrate or customize cloudservices and that this need grows significantly as the number of cloudservices and the rate of consumer adoption grows. Without suchintermediaries being able to effectively and efficiently manage cloudservices, cloud service consumers must manage numerous transactions(e.g., payments, governance, data movement, customization andenrichment) associated with their cloud service providers and cloudservices. This can rapidly become a task that is difficult,time-consuming and expensive, especially when they are consumingnumerous cloud services from independent providers. Furthermore,traditional approaches for managing cloud services leads to the adversesituation of vendor “lock-in” in which cloud service consumers areundesirably tied to a particular vendor or set of vendors for all or aportion of their cloud services. Therefore, a platform that enablescloud service consumers to manage these numerous transactions associatedwith their cloud service providers and cloud services in an effectiveand efficient manner would be beneficial, desirable and useful.

SUMMARY OF THE DISCLOSURE

Embodiments of the present invention relate to methodologies and systemsfor enhancing cloud services through use of a cloud services brokerage(CSB) platform. The CSB platform enables a centralized resource within acloud service consumer (e.g., personnel within an IT department of abusiness) to implement and manage all aspects of transactions associatedwith their cloud service providers and cloud services (e.g., payments,governance, data movement, customization, enrichment, etc) in aneffective and efficient manner In doing so, the CSB platform providesthe centralized resource within the cloud service consumer to assumeexclusive command and control for managing its cloud services. In thecontext of a CSB platform, a CSB is a third party company, or EnterpriseIT Cloud Administration Organization, that adds value to cloud serviceson behalf of cloud service consumers. The goal of a CSB is to make theservice more specific to a company, or to integrate or aggregateservices, to enhance their security, to establish and manage contractbased pricing, or to do anything that adds a significant layer of value(i.e. capabilities) to the original cloud services being offered.

A CSB platform configured in accordance with an embodiment of thepresent invention offer numerous benefits over traditional cloudmanagement models such as the traditional cloud management model 100discussed above in reference to FIG. 1. One benefit that the CSBplatform provides is a unique, new approach to providing operationsmodeling and planning intelligence for enabling cloud service consumersto efficiently and effectively operate in current and future cloudcomputing environments such as to manage business demand and IT supplyprocesses and relationships. For example, the CSB platform serves as agovernance center driven by business, supported by enterprise IT andcloud providers. Another benefit that the CSB platform provides is thatit serves as aggregation point for cloud resources, cost and SLAmanagement to design, deploy, manage and govern cloud service solutions.Still another benefit that the CSB platform provides is that it providesa common financial model for IaaS, PaaS, and/or SaaS functionalitiesacross various cloud configurations such as, for examples, publicclouds, private clouds, and/or hybrid clouds. In a private cloud, thecloud infrastructure is self-owned such as being operated solely by anorganization. However, it can be managed by the organization itself or athird-party provider and can exist on or off the organization's premise.In a public cloud, the cloud infrastructure is made available to thegeneral public or a large industry group and is vendor-owned. A hybridcloud is a combination of both private and public clouds, are organizedso that a portion of the infrastructure is deployed in a private cloudand the rest is exposed on the public cloud.

Still another benefit that the CSB platform provides is providing choiceand cost comparisons for determining whether to take a service to thepublic cloud or keep it internal based on risk/value profile. Stillanother benefit is that the CSB platform enables a rapidly changing ITservice supply chain of cloud services through on-boarding of new cloudservices and off-boarding retired cloud services in such a way as tominimize the disruption to end customers, while enabling them toleverage the benefits of new and better value cloud services.

In view of the disclosure presented herein, a skilled person willappreciate that a CSB platform configured in accordance with anembodiment of the present invention is a portal arrangement that enableseasy-to-use broker capabilities for cloud services, supporting multiplecustomers and integrating several different providers, allowing a cloudservices consumer (i.e., including its cloud services users) to design,order, provision and control cloud services from a single portal. Acloud services consumer can use a CSB platform configured in accordancewith an embodiment of the present invention to provision virtual datacenters (VDCs), then find and order services through a single unifiedweb 2.0 interface; to directly access and manage provisioned resourcesand deploy applications; to track changes through a workflow fortechnical, legal and financial approvals; govern finances and capacityplanning, both for current resources and future growth; and to viewmultiple command and control tracking dashboards and download them asPDF or Excel files.

With regard to designing cloud solutions, a CSB platform configured inaccordance with an embodiment of the present invention allows a cloudservice consumer to compare and highlight key differences and featuresof multiple provider offerings, such as security, service levelagreements and cost, to determine the best-fit for their needs; todesign the deployment architecture of cloud resources to run theirapplication(s) using a “single pane of glass” view; to use a resourcesolution center of the CSB platform as a one-stop shop for all of itsvirtual resource services needs; and to add infrastructure services suchas shared storage and backup services; network services such as VPN, andmanaged services such as back-up administration and security management.

A CSB platform configured in accordance with an embodiment of thepresent invention provides a cloud service consumer with a simple,comprehensive means for ordering cloud services. To this end, such a CSBplatform allows a cloud service consumer to view a comprehensive bill ofmaterials for every application and virtual data center design,generated automatically across multiple providers chosen from anextensive catalog of services; to review the terms and conditions forevery designed solution in a single simplified view; and to submit andplace consolidated orders for your solution directly from a singleinterface. Monitor the technical, financial, and legal approvals using aworkflow.

With regard to provisioning cloud solutions, a CSB platform configuredin accordance with an embodiment of the present invention allows a cloudservice consumer to provision multiple VDC change orders at once, withall provisioning tasks identified as a single set and automaticallyprovisioned together; to automatically manage virtual resources andservice provisioning using an intelligent asynchronous provisioningengine; and, once provisioned, to view the access and management detailsat any time.

With regard to controlling cloud solutions, a CSB platform configured inaccordance with an embodiment of the present invention allows a cloudservice consumer to manage bills across multiple cloud service providerswith one automatically consolidated monthly bill; to monitor and controlcost and capacity trends, aggregate and correlate every bill item costto resources and capacity, and view dashboards of aggregate spend acrossapplications and VDCs; and to view monitoring dashboards to compareutilization of resources versus cost, and see if you are over or undercapacity or cost for any of your applications across environments andlayers.

A CSB platform configured in accordance with an embodiment of thepresent invention provides a cloud service consumer with an intuitiveuser interface. To this end, such a CSB platform provides a cloudservice consumer with a central web/Internet based portal enabled toimplementing broker capabilities for cloud services (e.g., cloudinfrastructure services). As a skilled person will appreciate from thedisclosures presented herein, a CSB platform portal configured inaccordance with embodiments of the present invention offers wizard-basedtools for screening applications for cloud deployment, identifyingtarget cloud infrastructures, estimating capacity required on the cloud,comparing provider prices side-by-side, creating a migration roadmap,and finally evaluating the ROI of cloud migration; single view fordesigning application architectures in the cloud, assigning portions ofthe architecture to different cloud providers, automaticallyprovisioning the entire architecture simultaneously, and costestimation; dashboards for consolidated billing, utilization monitoring,and security monitoring; and command and control screens forprovisioning authorization, workflow orchestration, and providercompliance evaluation.

The CSB platform can support many cloud service consumers and connectsmany cloud service providers with a catalog and services-integrationframework. Cloud service consumers can use the CSB platform to find,order, and manage services through a single unified Web 2.0 interfaceand enables ordering and provisioning of virtual resources. The CSBplatform enables resource change management, and ongoing financialgovernance of charges from providers across many applications andvirtual data centers.

In one embodiment of the present invention, a system has a plurality ofinterconnected platform engine portions for providing cloud servicebrokerage functionalities. A first platform engine portion enablesselection of cloud service offerings available from one or more cloudservice providers through assessment of cloud service criteria. A secondplatform engine portion enables demand for cloud services to be modeledusing selected ones of the cloud service offerings. A third secondplatform engine portion enables virtual data centers (VDCs) to beinstantiated by provisioning resources of the selected ones of the cloudservice offerings.

In another embodiment of the present invention, a non-transitorycomputer-readable storage medium has tangibly embodied thereon andaccessible therefrom instructions interpretable by at least one dataprocessing device. The instructions are configured for causing the atleast one data processing device to perform one or more operations forselecting cloud service offerings available from one or more cloudservice providers through assessment of cloud service criteria, modelingdemand for cloud services using the selected cloud service offerings,and instantiating virtual data centers (VDCs) by provisioning resourcesof the selected cloud service offerings.

In another embodiment of the present invention, a system has a pluralityof interconnected platform engine portions for providing cloud servicebrokerage functionalities. A first platform engine portion enables acloud service consumer to select cloud service offerings available froma plurality of different cloud service providers through assessment ofcloud service criteria. A second platform engine portion enables thecloud service consumer to model demand for cloud services using selectedones of the cloud service offerings. A third platform engine portionenables the cloud service consumer to create and control virtual datacenters (VDCs) by provisioning resources of the selected ones of thecloud service offerings. A fourth platform engine portion enables thecloud service consumer to manage applications that are using theselected ones of the cloud service offerings. A fifth platform engineportion enables the cloud service consumer to define applicationarchitectures configurations. A sixth platform engine portion enablesthe cloud service consumer to assess metrics for cloud service criteriaassociated with the provisioned resources of the selected ones of thecloud service offerings and with the application architecturesconfigurations.

These and other objects, embodiments, advantages and/or distinctions ofthe present invention will become readily apparent upon further reviewof the following specification, associated drawings and appended claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an illustrative view showing an example of a traditional cloudmanagement model leading to cloud service users of a cloud serviceconsumer directly implementing cloud services via cloud serviceproviders.

FIG. 2A is an illustrative view showing an example of a cloud managementmodel configured in accordance with an embodiment of the presentinvention.

FIG. 2B is diagrammatic view showing a detailed implementation of thecloud management model of FIG. 2 as viewed from Cloud Administrator andEnd User perspectives.

FIG. 3A is a functionality module view of a CSB platform configured inaccordance with an embodiment of the present invention.

FIG. 3B is an illustrative view showing a resource solution centerconfigured in accordance with an embodiment of the present invention.

FIG. 4 is an illustrative view showing high-level functionality of theCSB platform of FIG. 3A.

FIG. 5 is an architectural view showing various engines providingfunctionality the CSB platform of FIG. 3A.

FIG. 6 is a block diagram showing a data processing system 300representative of a hardware environment comprising a CSB platformconfigured in accordance with an embodiment of the present invention.

FIG. 7 is an illustrative view of a home page of a CSB platform portalconfigured in accordance with an embodiment of the present invention.

FIG. 8A is an illustrative view of a cloud services sourcing screen of aCSB platform (e.g., a portal thereof) configured in accordance with anembodiment of the present invention.

FIG. 8B is an illustrative view of showing configuration of a custompackage that is included as an available package offering in the cloudservices sourcing screen of FIG. 8A.

FIG. 9 is an illustrative view of a cloud services provider comparisonscreen of a CSB platform (e.g., a portal thereof) configured inaccordance with an embodiment of the present invention.

FIG. 10 is an illustrative view of a virtual data center (VDC) pop-upscreen of a CSB platform (e.g., a portal thereof) configured inaccordance with an embodiment of the present invention.

FIG. 11 is a flow diagram showing a method for setting up a VDC inaccordance with an embodiment of the present invention.

FIG. 12 is an illustrative view of a BOM details information section ofthe virtual data center (VDC) pop-up screen shown in FIG. 10.

FIG. 13 is a flow diagram showing a method for discovering an existingVDC in accordance with an embodiment of the present invention.

FIG. 14 is an illustrative view of a my VDCs page in a my VDCs sectionof a VDC tab of a CSB platform (e.g., a portal thereof) configured inaccordance with an embodiment of the present invention.

FIG. 15 is an illustrative view of a VDC Details page in the myVDCssection of FIG. 14.

FIG. 16 is an illustrative view of an IT architecture page in a myVDCssection of a VDC tab of a CSB platform (e.g., a portal thereof)configured in accordance with an embodiment of the present invention,wherein the VDC information depicted in an architecture layout isfiltered by environment and layer.

FIG. 17 is an illustrative view of a virtual machine (VM) within thearchitecture layout shown in FIG. 16.

FIG. 18 is an illustrative view of an IT architecture page in a myApplications section of an Applications tab of a CSB platform (e.g., aportal thereof) configured in accordance with an embodiment of thepresent invention, wherein the VDC information depicted in anarchitecture layout is filtered by VDC and environment.

FIG. 19 is an illustrative view of an Applications screener of a CSBplatform (e.g., a portal thereof) configured in accordance with anembodiment of the present invention.

FIG. 20 is an illustrative view showing a VDC capacity cost trendsdashboard configured in accordance with an embodiment of the presentinvention.

FIG. 21 is an illustrative view showing a VDC cost analysis dashboardconfigured in accordance with an embodiment of the present invention.

FIG. 22 is an illustrative view showing a VDC capacity summary dashboardconfigured in accordance with an embodiment of the present invention.

FIG. 23 is an illustrative view showing a VDC utilization dashboardconfigured in accordance with an embodiment of the present invention.

FIG. 24 is an illustrative view showing a VDC detailed utilizationdashboard configured in accordance with an embodiment of the presentinvention.

FIG. 25 is an illustrative view showing a VDC Chargeback Summarydashboard configured in accordance with an embodiment of the presentinvention.

FIG. 26 is an illustrative view showing a provider screen of a catalogmanagement section of a CSB platform portal.

FIG. 27 is an illustrative view showing a provider information pop-upscreen of the catalog management section shown in FIG. 26.

FIG. 28 is an illustrative view showing a provider properties pop-upscreen of the catalog management section shown in FIG. 26.

FIG. 29 is an illustrative view showing a provider terms and conditionspop-up screen of the catalog management section shown in FIG. 26.

FIG. 30 is an illustrative view showing a provider plans screen of thecatalog management section of the catalog management section in FIG. 26.

FIG. 31 is an illustrative view showing a provider plan informationpop-up screen of the catalog management section in FIG. 26.

FIG. 32 is an illustrative view showing a provider plan propertiespop-up screen of the catalog management section in FIG. 26.

FIG. 33 is an illustrative view showing a provider plan specificationspop-up screen of the catalog management section in FIG. 26.

FIG. 34 is an illustrative view showing a provider services screen ofthe catalog management section of the catalog management section in FIG.26.

FIG. 35 is an illustrative view showing a service information pop-upscreen of the catalog management section in FIG. 26.

FIG. 36 is an illustrative view showing a service properties pop-upscreen of the catalog management section in FIG. 26.

FIG. 37 is an illustrative view showing a service terms and conditionspop-up screen of the catalog management section in FIG. 26.

FIG. 38 is an illustrative view showing create category screen of theresource solution center in FIG. 3B.

FIG. 38 is an illustrative view showing create sub-category screen ofthe resource solution center in FIG. 3B.

FIG. 40 shows a method for implementing cost apportioning in accordancewith an embodiment of the present invention.

DETAILED DESCRIPTION CSB Platform Architecture

Referring to FIGS. 2A and 2B, various aspects of a cloud managementmodel 200 configured in accordance with an embodiment of the presentinvention are shown. Advantageously, the cloud management model 200implements a CSB platform 202 through which business unit cloud serviceusers 205 and CSB role cloud service users 208 (i.e., cloud serviceusers) of a cloud service consumer 210 access cloud services via cloudservice providers 215 (e.g., providing services via one or more outsidenetworks with respect to the CSB platform 202). The CSB platform 202enables cloud service users of the cloud service consumer 210 to enhancethe manner in which it implements cloud consumption across public,private and hybrid clouds. For example, the CSB platform 202 enablescloud service users of the cloud service consumer 210 serving in an ITcapacity (e.g., IT architects, system managers, information executivesand the like) to limit the complexities and risks of implementing cloudservices across multiple providers, allowing for increased agility,standardization of a cloud consumption model, formalization ofaccounting processes and implementation of compliance and governance.

The CSB platform 202 can be implemented in a variety of manners. In afirst implementation, the CSB platform 202 is implemented in a mannerwhere it enables an entity to be a trusted cloud service provider forits own customer base (i.e., its own cloud service consumers), to set upand manage secure virtual data centers with multiple cloud providers,and to add third party services such as security, monitoring and backupto build a more complete solution. In this first implementation, the CSBplatform 202 serves as a single interface through which this users incustomers with a single interface through which the cloud serviceconsumers can design, order, provision, and manage not just cloudservices but also traditional IT services have been provided to them inthe past. In a second implementation, the CSB platform 202 isimplemented in a manner where it enables an IT organization to maintaincomplete cost and SLA visibility and governance, while providing itsusers with a single interface through which they can design, order,provision, and control infrastructure and platform services from amyriad of public, private, hybrid and colocation providers.

The CSB platform 202 has a plurality of associated entities thatdirectly or indirectly interact with it. Though the roles andresponsibilities can vary for in certain implementations based on theneeds of the specific brokerage, following is a summary of suchentities. Broker refers to an entity that owns a cloud servicebrokerage. The Broker is responsible for contractual oversight of thebrokerage, governance, and communication to agencies & consumers tofacilitate and increase adoption. The Broker may take on additionalroles that can be delegated to the Broker Operator. These additionalroles are billing intermediary between broker operator and consumeragency and payment handling. Broker Operator refers to an entity thatruns the business operations of the brokerage (e.g., billing management& invoicing, Provider agreements, SLAs and relationship management,pricing management, customer on-boarding including customer agreements,etc.) and technical services (e.g., federated help desk, new provideron-boarding, cloud architecture and design services, additionalintegrations and customizations, migration services, applicationmanagement services, other managed services). Some of these roles may bea separate entity such as a System Integrator. For example, if theBroker chooses to manage the business operations and act as the BrokerOperator, the Broker may choose to have a System Integrator or vendorperform the technical services. Brokerage Platform Operator refers tothe entity that maintains and provides access to the CSB platform. Itsresponsibilities can include deployment, ongoing upgrades and releasemanagement, technical operations, level 3 support for the brokerageportal, etc. Cloud Service Provider refers to the entity that providesthe requested cloud services, technical support for published APIs,monthly metering and billing, meet SLAs and provider terms, Level 3support for provisioned resources, participate in critical problemtriage and resolution processes, solution design review and approve(optional), etc. Cloud service consumer refers to an entity that is aregister user on a portal of the platform. The Cloud Service Consumermanages users and access control through role assignments, sets spendinglimits and purchase orders, undertakes cloud architecture and solutiondesign, accesses and uses provisioned resources, receives monthly bills,reviews bills and details through portal, pays bills, monitorsperformance using the performance dashboards/analytics for cost,capacity and utilization, etc.

FIG. 3A shows a functionality module view of the CSB platform 202 (i.e.,a CSB platform configured in accordance with an embodiment of thepresent invention). The CSB platform 202 serves as a cloud servicesbrokerage and management platform that integrates multiple cloudprovider services (e.g., internal or external) into a CSB platformportal through which cloud service consumers (e.g., businessenterprises) can manage (e.g., optimize) the design, provisioning,ordering and control (i.e., consumption) of cloud services. One exampleof such a CSB platform portal is provided by Gravitant Inc. at the URLmygravitant.com. Cloud service consumers can deploy core services andfeatures enabled by the CSB platform 202, which are described below ingreater detail, through a single user interface of a cloud useraccessible portal. These core services and features can be deployedindependently or as an integrated suite of cloud services based onspecific cloud service needs of a particular cloud service consumer.Advantageously, the CSB platform 202 is technology agnostic and willwork and leverage current cloud platforms and business systems deployedof a cloud service consumer.

Advantageously, the CSB platform 202 offers numerous capabilities forallowing a cloud service consumer 210 to enable its cloud service usersto implement (e.g., design, order, provision and control) cloud servicesacross public, private and hybrid clouds. Examples of these capabilitiesinclude, but are not limited to enabling internal business and IT unitsto offer their cloud service users a single interface to design, order,provision and control virtual data centers (VDC) in public, private andhybrid infrastructure services; setting up a central environment forcarrying out sourcing, procurement, fulfillment and billing processesand contracts with preferred public and private cloud providers; andtracking usage, chargeback, Quality of Service (QoS), SLA's andperformance of internal and external cloud infrastructure serviceproviders. Furthermore, the CSB platform 202 enables integration withcurrent IT infrastructure and automation of investments made by a cloudservice consumer. Still further, the CSB platform 202 includes amulti-cloud services catalog with services from available public cloudproviders (e.g., Amazon, GoGrid, Terremark and Savvis). Accordingly, acloud service consumer can use a private cloud catalog and servicepackage template to quickly operationalize an enterprise CSB solution.Examples of template content, which are discussed below in greaterdetail, include service options relating to design and aggregation(i.e., cloud service designing); cloud service sourcing, arbitrage andprocurement (i.e., cloud service ordering); service/user provisioningand deployment (i.e., cloud service provisioning); performancedashboards for chargeback, SLA's and resources (i.e., cloud servicecontrol); cloud services catalog and asset manager; cloud demand andcapacity planning; provisioning, metering and auto-scaling; securitymanagement; policy management; broker operations management; cloudservices integrations (e.g., adapters & APIs); business systemsintegrations (e.g., APIs); IT systems integrations (e.g., APIs); andcloud services networking.

In regard to the multi-cloud services catalog (i.e., the catalog), it ishighly customizable. Self-service administrative capabilities (e.g., viathe self-service fulfillment module 219) are available for the broker toperform actions such as, for example, setting up new cloud services,modifying existing cloud services, customizing the cloud serviceparameters, updating pricing, reclassifying services, and adding orremoving providers. Broadly speaking, the catalog supports anabstraction of marketplace services and categorizations that then mapsto provider specific catalog line items. In this regard, a cloudservices catalog provides a service abstraction that can map to one ormore provider services/line items. For example, a VM service on Savvismaps to vCPU, memory and local storage services with OS templates. ForTerremark, Savvis, Amazon, Amazon GovCloud, the aggregated VM servicesare pre-defined and published in the catalog. Additionally, attributesthat are specific to cloud service consumers such as, for example,pricing rules, security and access constraints can be defined in thesame catalog. This allows for a high degree of function and flexibility.For example, a consumer level service may be a packaged VM, which maytranslate into multiple provider catalog line items therebysignificantly reducing complexity of the cloud for the consumer. Thisalso simplifies maintenance as well as enables comparison of cloudservices and plans from different providers. Accordingly, it will beappreciated that the CSB platform 202 can be configured with anintegrated catalog and solution configurator that provides a uniquecapability to access services from providers that are required to enablea cloud service consumer solution. This integrated catalog and solutionconfigurator provides transparency of provider capabilities and enablesthe customer to make the right choices from a technology, operationaland management perspective.

The catalog has predefined metadata for service providers and servicessuch as capacity limits, and allowed capacity configurations for CPU,memory, local storage, NAS storage etc. for different providers. Theseconstraints are then applied at the time of solution design andArchitecture. The total capacity being procured is also displayed to theuser while the solution is being iteratively designed. If the predefinedcapacity limits are exceeded, warning and error messages can bedisplayed to the user as appropriate. With the ability for the cloudprovider to have predefined capacity configurations such as specificvCPU sizes, specific RAM sizes, and storage blocks, it makes the catalogmore end-users friendly and self-service. Through use of a catalogadministration capability, an operator of the CSB platform 202 canupdate the metadata of the catalog to change the limits and predefinedcapacity configurations. For the cloud service providers alreadyintegrated into the CSB platform, these capacity configurations havealready been defined as part of the content that is available aspre-configured selections.

FIG. 3B shows a resource solution center 221. The resource solutioncenter 221 serves as a single point (e.g., one-stop) source for all ofvirtual resource service needs of a user of the CSB platform 202, inFIG. 3A. The resource solution center 221 correlates service catalogline items to an available cloud service selection (i.e., a resourcecontext). Through the resource solution center 221, a user can identifyand add infrastructure services such as, for example, shared storage andbackup services; network services such as VPN; and managed services suchas back-up administration and security management. Examples ofinfrastructure services include, but are not limited to shared storage(e.g., a cloud-based storage service for backup server software andshared backup storage) and a monitoring solution (e.g., a VM with systemmonitoring server software pre-installed and configured to send data tothis portal for utilization and monitoring views). Examples of networkservices include, but are not limited to, VPN hardware (e.g., ahardware-based Virtual Private Network (VPN) solution that enables aSite to Site VPN managed by the VDC provider) and VPN software (e.g.,software-based VPN solutions that allow for a lower cost secure VPNgateway and can enable Client to Site and Client to Site VPN). Examplesof managed services include, but are not limited to, backupadministration (e.g., services offered by IT operations serviceproviders to configure backups, maintain backup schedules, monitor andverify backups, and restore backups as needed); system administration(e.g., services offered by IT operations service providers to setup,configure, and support cloud environments, including systems, virtualmachines, storage, and networks); and security management (e.g.,services offered by IT operations service providers to setup operationalsecurity policies, manage virtual private networks, and manage ongoingsecurity, including audits and compliance).

Referring to FIG. 3A, a design module 220 of the CSB platform 202enables (e.g., via a CSB platform access portal interface (i.e., part ofthe self-service fulfillment module 219) of the CSB platform 202)comprehensive cloud planning services (i.e., solution design andaggregation functionality). Cloud adoption scenarios can be simulatedusing prediction analytics for business applications and infrastructureresource needs. Demand, capacity, cost (TCO) and ROI baselines can beforecasted and established for each cloud solution and the internaland/or external cloud service platforms being used. Scenario dashboardscan be saved and published and used to provide access to businessorganizations, IT resources, vendors and the like to align all partieson goals and implementation activities. Examples of informationgenerated and tasks implemented using the design module 220 include, butare not limited to, visual architecture management; solution design andaggregation; application definition and management; and solutionscenario design. Accordingly, a skilled person will appreciate thatbenefits of the design module 220 include, but are not limited to,accurately simulating and predicting cloud capacity and cost for a givenapplication demand profile; clearly understanding cloud capacity needsand cost for each cloud provider before making investment decisions;running cloud consumption scenarios to understand cost, capacity anddemand trade-offs/risks; accurately setting IT budgets for cloudcomputing projects; comparing cloud capacity, costs and SLAs acrosscloud provider offerings and platforms; clearly establishing and trackROI and TCO metrics for each cloud solution and project; and controllingand managing IT assets in the cloud and reduce cloud/virtual machines(VM) and subscription sprawl.

A virtual machine (VM) refers to a virtual computer that uses theresources of one or more real computers, but which is functionallyindistinguishable from a physical computer running the same softwarefrom an end user's perspective. For example, in case in which there is aneed to set up a new mail server, instead of buying a server (which mayonly actively process email 1% of the time), installing and configuringthe mail server, configuring and maintaining networking for the server,and paying for the electricity and maintenance for the server, a cloudservice consumer can pay a cloud service provider to set up avirtualized mail server. This server would run all the same software asthe physical server, but would live in a VM that sits atop one or morephysical servers which have (at a minimum) the same capabilities (CPU,memory, storage) as the local physical server necessary to run the samesoftware. In turn, this same hardware used by the cloud service providermay support multiple other VMs, none of which use all the hardwaresystem's resources. The cloud service users of the cloud serviceconsumer would send and receive mail from this VM server exactly thesame way they would if the server was physically located on premises ofthe cloud service consumer. In contrast, a virtual data centers (VDC) issimilar to physical data centers. A VDC allows dynamic creation ofvirtual resources atop a physical infrastructure, including CPU, memory,storage, and network capacity. A VDC can be thought of as a containerfor a VM or as a server rack. Just as a server rack itself does not runany applications, a VDC does not itself run any applications; each isprovisioned with servers (e.g., VMs) that run applications. VDCresources can be created on-demand and managed as a pool of virtualresources and controlled through an online user interface. Instead ofordering specific line items from a catalog, VDC is designed withcapacity and/or virtual resources and then the system automaticallygenerates an order for the provider to fulfill that VDC design. A VDCcan be deployed on internal physical/virtual environments or in publicclouds. A VDC can comprise of VMs, storage, one or more networks(subnets), VPNs, Firewalls, load balancers, and any other infrastructureas a service.

Still referring to FIG. 3A, the above-mentioned solution design andaggregation functionality implemented via the design module 220 oftenentails conducting an “apples-to-apples” comparison of cloud servicesfrom a variety of cloud service providers. However, quite often, eachcloud service provider has a different style of presenting cloudservices and resources to the end-consumer. At a high level, even theirbusiness models vary in the sense that certain providers employ reservedcapacity vs. on-demand capacity methods of enabling a consumer toprocure cloud resources. The CSB platform 202 is configured with aplurality of methods to perform such comparisons.

One method for performing such comparisons is through use of a cloudservices planning wizard. An underlying component of the cloud servicesplanning wizard is a metric parameter referred to as a Capacity Unit(CU), which is central to enabling precise cloud service comparativecapabilities for measuring, comparing, metering and enforcing quality,performance and cost standards across cloud vendors for different cloudservices. The CU is a generic unit of IT capacity that is a function ofmultiple factors such as, for example, processor speed, random accessmemory, storage, and bandwidth. In one specific implementation, 1 CU=thecapacity to compute at a speed of 2.4 GHz with random access memory of 4GB and local storage of 100 GB through 1 Mbps of bandwidth. It should benoted that the CU value scales differently with respect to each factorand its value intends to represent the effective realization of theindividual capacity components.

By employing the cloud services wizard (which can include an applicationscreener) to assess information derived from a knowledge base ofinformation based on experience and best practices and to calculate CUsfor various cloud service providers, the CSB platform user is guidedtowards an apples-to-apples comparison that results in the closestmatched cloud services and cloud service providers. In at least oneimplementation, the cloud services wizard takes into account dimensionssuch as, for example, virtual machine dimensions (e.g., memory,CPU/vCPU, local storage, etc); network dimensions (bandwidth desired,virtual LAN, guaranteed throughput, pricing models, load balancers,public vs. private networks, etc); storage dimensions (e.g., definingdifferent architectures, ability to snapshot storage, back up strategiesfor storage as well as offering shared storage, etc); securitydimensions (e.g., firewalling technologies, intrusiondetection/prevention technologies, etc); service level agreements (e.g.,availability monitoring and service crediting); operating systemssupported (e.g., employing templates with licenses, 32/64 bit operatingsystems, support for blank servers, virtual machines registered andcompliant with certain operating systems, etc); provisioning times(e.g., for virtual machines, for provisioning the first virtual datacenter vs. subsequent virtual data centers, etc); support for virtualresources (e.g., varying from free, forum based support to full helpdesksupport that is included for no additional fees); designation oflocation of virtual resources (e.g., geographic designation and specificlocales based on CSP data center availability); and virtual resourcepricing structure (e.g., varying by sizing of packages vs. individualresources that may vary by pricing model for reserved capacity vs.on-demand capacity).

Another method for performing such comparisons is through use of aservice offerings comparator. By using a normalized scheme of small,medium and large cloud service packages (or other custom packages) ofwell-defined capacity including compute, storage and memory withnormalized utilizations and allocation models, the CSB platform providesa quick pricing comparison for these multiple packages across cloudservices and providers.

Still referring to FIG. 3A, the CSB platform 202 supports two models forcreating and accessing accounts on the cloud service providers that itmanages—Broker managed provider accounts and Customer managed provideraccounts. The brokerage can be configured to support both models oreither the Customer managed model or Broker managed model. In the brokermanaged provider accounts model, for example, a broker operations teamcreates accounts for each cloud provider and inputs the credentials tothe portal based on customer (e.g., user) requests. Alternately, abroker can also have reseller relationships with the providers to havepredefined accounts which can be set up in the system, and when acustomer orders services, the broker simply assigns one of thepredefined accounts to this customer. In the customer managed provideraccounts model, for example, the customer may already have provideraccounts or would prefer to directly create and manage the provideraccounts. The customer sets up the account in CSB platform portal andprovides the provisioning credentials, and billing credentials, if any.The brokerage portal can then perform all the functions such as catalog,solution design, order approval workflows, screening, provisioning,billing load by customer, cost allocation, dashboards, etc.

An order module 222 of the CSB platform 202 enables (e.g., via the CSBplatform access portal) broker services enabling business and IT usersthe ability to engage with cloud service providers for building businessand technology relationships (i.e., sourcing, arbitrage and procurementfunctionality). It offers a central point for a cloud service consumerto quickly aggregate cloud solutions, procure and pay for them bycombining cloud services from different providers to meet businessneeds, cost constraints and innovation requirements. Examples ofinformation generated and tasks implemented using the order module 222include, but are not limited to, bill of materials estimates, advancedpricing rules, service offering comparators, provider accountmanagement, and procurement process flow. Accordingly, a skilled personwill appreciate that benefits of the order module 222 include, but arenot limited to, quickly setting up enterprise procurement portal(s) andstreamlining cloud acquisition processes across business and ITorganizations; meeting new business demand or scalability by havingaccess to multiple cloud providers; ready access to cloud services frominternal and external providers with integrated provisioning andprocurement processes; being aligned with cloud market changes includingproduct, pricing, packaging, and SLA changes from vendors; reducingcloud costs by comparing cloud service combinations for any givensolution; performing real-time spend analysis across providers;optimizing as provisioning and de-provisioning systems are integratedwith billing and order management; and reducing time and cost inbilling, metering and payment management though a centralized bill andpayment capability.

A provision module 224 of the CSB platform 202 enables (e.g., via theCSB platform access portal) cloud management services for users througha single view of cloud services resources from internal or externalproviders (i.e., service/user provisioning and deploymentfunctionality). A cloud service consumer (e.g., an enterprise ITdepartment) can use the provision module 224 to design applicationarchitectures and setup virtual data centers across multiple internaland external providers and manage it from one central location.Furthermore, cloud service consumers can create environments (e.g., Dev,Test, Production and DR) for a business application from differentproviders and manage them. Examples of information generated and tasksimplemented using the provision module 224 include, but are not limitedto, automated provisioning and deployment of IaaS and PaaS resourcegroups/clusters; workflow-based provisioning; auto-scaling service forone or more cloud service providers; and deployment workflow automation.Accordingly, a skilled person will appreciate that benefits of theprovision module 222 include, but are not limited to, no vendor ortechnology lock in, rapid setup of virtual data centers and real timeprovisioning of IaaS, PaaS, SaaS, Managed Services and other cloudresources across multiple cloud providers, reduced cloud infrastructurecosts by continuously optimizing utilization, enhanced resourceavailability for business applications to meet scalability andperformance, enhanced cloud resource allocation to business applicationand business units, enabling customized cloud data center solutions byadding third party support services, and leveraging current investmentsin monitoring and management tools sets.

A control module 226 of the CSB platform 202 enables (e.g., via the CSBplatform access portal) command and control services that are criticalto successful adoption and acceptance of the cloud services model (i.e.,dashboard functionality for chargeback, SLAs and resources). A cloudservice consumer can gain visibility into current performance, cost andutilization of cloud services and compare against planningbenchmarks/milestones to automatically initiate corrective action tocontinuously optimize cost, resources and SLAs to meet business demandand changes. Furthermore, a cloud service consumer can automaticallytrack, define, establish, and report chargeback against businessapplications, business units, IT budget codes and/or shared resourcecategories. The provision module 224 includes a plurality ofpre-configured dashboard views for chargeback, SLA's and resources.Examples of the pre-configured dashboard views include, but are notlimited to, cloud analysis by virtual data center (VDC), application,customer, and business units/departments; capacity cost trends (e.g.,compute, memory, network, managed services analysis of capacity vs. costand trends over time); cost analysis (e.g., by resource type,environment and layer); capacity summary (e.g., allocated capacity,integrate with utilized capacity); cloud utilization & detailedutilization (e.g., monthly/daily utilization for avg/max of CPU/memoryutilization and trends over time; aggregation of utilization data forcloud analysis by VDC, application, environment, layer, and resourcegroups; drill down to system monitoring tool; adapter based integrationwith any system monitoring tools; deployment template and provisioningfor Xymon monitoring server/clients, and ability to deploy & provisionother application and system monitoring technologies; and VDC andapplication cost chargeback); custom dashboards/reporting and activitylogs for audit and tracking; and alerts (e.g., capacity changes,utilization thresholds, cost thresholds, and user access changes).Accordingly, a skilled person will appreciate that benefits of theprovision module 222 include, but are not limited to, business and ITManagement having visibility and control over the cloud ecosystems,costs, resources and SLAs; eliminating unrestricted/unintended spendingwith alerts, procurement and provisioning workflows; making moreaccurate investment decisions that continuously reduce cost andoptimizes resource utilization; implementing proactive action onresource, SLA and cost alignment before there is an impact to business;auditing and reporting on all IT financial transactions, owned assets inthe cloud by business app, business unit and shared IT resources; realtime alignment of business, IT staff, resources, cost and performance;effective cost accounting and cost assignment to specific business unitsand apps; rapid enablement of IT initiatives for reducing the timebetween strategic planning and operational execution; continuousbaselining of business and IT metrics; and establishing performancebenchmarks.

A cloud services catalog and asset manager module 228 of the CSBplatform 202 enables (e.g., via the CSB platform access portal) commandand control services that are critical to successful adoption andacceptance of the cloud services model (i.e., cloud services catalog andasset manager functionality). Examples of information generated andtasks implemented using the cloud services catalog and asset managermodule 228 include, but are not limited to, multi-provider catalog forIaaS, PaaS, SaaS, Managed Services, and Custom Services; extendable andcustomizable catalog with dynamic attributes and user interface; pricingsupport for different cloud provider pricing models (e.g., reservedcapacity pricing, allocated capacity pricing and pay-as-you-go); manageprovisioned assets (e.g., IaaS, PaaS, SaaS, managed and custom services,asset relationships, asset status and life cycle management, etc);automated asset discovery & sync (e.g., discover and make changes toassets in the cloud, sync with assets registered in catalog/assetmanager, match process enabling the IT Administrator to resolve anydiscrepancies, match and compare prices in catalog for discoveredassets, etc); and pre-configured content that is pre-populated withseveral provider offerings for rapid deployment.

A demand and capacity planning module 230 of the CSB platform 202enables (e.g., via the CSB platform access portal) solution capacitymodeling (i.e., cloud demand and capacity planning functionality).Examples of information generated and tasks implemented using the demandand capacity planning module 230 include, but are not limited to,planned vs. allocated vs. utilized capacity; standardized capacity unitsacross cloud providers, cloud models and infrastructure; advanced anddynamic capacity planning (e.g., application capacity model and VDCcapacity model; support for shared resources across VDCs, applications,environments and layers; capacity benchmarks using projected utilizationprofiles; capacity re-baseline using actual utilization data; modelinganalysis of forecasted vs. available utilization thresholds forforecasting capacity growth needs, etc); demand planning with businessdriver-based demand modeling, drivers for normal demand growth orevent-based; and integrated demand and capacity planning to updateresource capacity and generate schedule or metric-based policies tochange resource capacity based on capacity plan.

In regard to demand and capacity planning, the CSB platform (e.g., viathe demand and capacity planning module 230) allows a cloud broker(e.g., platform operator) or the end customer (e.g., cloud servicecustomer) to input demand profiles which then get applied to thesolution design, and generate a capacity vs. demand curve (e.g., acrossan IaaS architecture). This enables cloud service consumers toincrementally acquire capacity as the demand grows instead of acquiringa lot of capacity that remains unutilized till the demand catches up.The CSB platform 202 also enables customization of the capacity planningto be tailored to specific customer architectural needs, and complexdemand patterns.

A provisioning, metering and auto-scaling module 232 of the CSB platform202 enables (e.g., via the CSB platform access portal) automatedworkflow based provisioning, integrated support for secure shell (SSH)based VMs, and deployment automation (i.e., provisioning, metering andauto-scaling functionality). Examples of automated workflow basedprovisioning include, but are not limited to, asynchronous message-basedprovisioning across multiple clouds simultaneously; handle and retryprovisioning failures workflow to aggregate and manage underlying cloudprovisioning task dependencies; hybrid workflow to support combinationof automated and manual provisioning tasks; extensible workflowdefinitions that support custom integrations for Enterprise systems.

A security manager module 234 of the CSB platform 202 enables (e.g., viathe CSB platform access portal) various security managementfunctionalities related to cloud services. Examples of such securitymanagement functionalities include, but are not limited to, usersecurity management with subscription and role-based access control thatallows for multiple models of user security including user group supportand password policy, single sign on and advanced security (e.g., supportfor integration with federated identity and access management systems,enterprise user directory integration, etc); user administrationdelegation to business units/departments; centralized and delegated usersecurity administration; VPN services and firewall configurationsupport; VM encryption support across cloud providers; SSH keymanagement for provider accounts, VDCs, and individual VMs; and supportfor Federal, Enterprise and other custom, high security deployments.

A policy manager module 236 of the CSB platform 202 enables (e.g., viathe CSB platform access portal) implementation of various policiesrelated to cloud services. Examples of such policies include, but arenot limited to, pricing policies (discounts, upcharges, customerspecific, partner specific, custom, etc); cost alerts based onthresholds; resource auto-scale policies (e.g., via support for a policyprovider auto-scaling function); cost allocation policies by allocatedand utilized capacity; architecture policies to enforce architecturalconstraints in solution design; and workflow/notification policies(e.g., email groups, portal tasks, order approvals, etc).

A broker operations module 238 of the CSB platform 202 enables (e.g.,via the CSB platform access portal) implementation of broker operationsrelated to cloud services. Examples of such broker operations include,but are not limited to, customer activations (i.e., on-boarding) anddeactivation; customer subscription management (e.g., subscriptionpackages and payment authorization); customer billing & payments withmonthly bill export & import, bill lifecycle and publish, and creditcard & purchase order support; brokerage command & control withvisibility into cost, capacity & ordering behavior across providers &customers; customer support with integration and support ticketingsystems; catalog implementation of services & providers, pricing rules,sourcing content, import SLAs and terms & conditions; channel/portalmanagement with click-through agreements, white labeling/co-branding andaffiliate management; and provider self-service with catalog & listprice updates and visibility into customer behavior.

A cloud services integration module 240 of the CSB platform 202 enables(e.g., via the CSB platform access portal) implementation of cloudservices integration functionalities (i.e., via adapters and applicationprogramming interfaces (API's)). Examples of such cloud servicesintegration functionalities include, but are not limited to, pre-builtjCloud API based adapters; built jCloud and REST API based adapters;support for custom adapters; adapters map to a common model forprovisioning changes and asset discovery; metadata-driven configurationoptions enable dynamic UI for provider capabilities (e.g., memory, cpu,storage, OS templates); and map provisioning tasks to be automated orworkflow-based.

A business systems integrations module 242 of the CSB platform 202enables (e.g., via the CSB platform access portal) implementation ofbusiness systems integration functionalities (i.e., via API's). Examplesof such business systems integration functionalities include, but arenot limited to, APIs for business intelligence systems (e.g., resourcecapacity/cost/utilization for provisioned resources; catalog data, assetinventory data and orders; and the like); enterprise billing & paymentsystems that provide APIs for enterprise billing & payment systems toretrieve and update data for bills, orders and assets; and APIs forcloud service providers to manage catalog & list prices, terms andconditions for provider services and visibility into customer activityand behavior.

An IT systems integrations module 244 of the CSB platform 202 enables(e.g., via the CSB platform access portal) implementation of IT systemsintegration functionalities (i.e., via API's) related to internal ITgovernance, internal IT operations help desk systems, and internal datacenter systems management. Examples of such IT systems integrationfunctionalities include, but are not limited to, providing APIs forenterprise governance systems to view order access and complete workflowtasks, review tickets/support, terms and conditions with SLAs;monitoring and auditing data for cost, capacity and utilization ofresources; providing APIs for Help Desk systems to view, edit, submitand run reports on support tickets; providing APIs for enterprisesystems management integration; and monitoring data for cost, capacity,and utilization of resources.

A cloud services network module 246 of the CSB platform 202 enables(e.g., via the CSB platform access portal) implementation of cloudservices networking functionalities. Examples of such cloud servicesnetworking functionalities include, but are not limited to, pre-definedCSB service taxonomy (e.g., hierarchical); pre-loaded catalog(s) (e.g.,for cloud providers, private clouds, security services, networkservices, managed services; pre-built adapters for available cloudservice providers; pre-defined provisioning workflows for all servicespre-loaded in the catalog(s); sourcing comparator content for cloudservice provider offerings; pre-defined subscription packages; userroles and dashboards; pre-defined email templates for user registration,provisioning status, order status & process steps, alert notifications,and task notifications; and pre-built integration for support.

Referring to FIG. 4, further details of the cloud services integrationmodule 240 of the CSB platform 202 are presented. The cloud servicesintegration module 240 shown in FIG. 3A comprises a unique andcomprehensive service bus architecture for the provisioningcapabilities. This service bus architecture is embodied by the cloudservice bus 241, which is coupled to outside network 243. The cloudservice bus 241 has an inbuilt data driven workflow/process engine thatsupports multiple workflow/process definitions for different services,service providers and/or service types. The cloud service bus 241 usesan adapter architecture pattern to integrate with service providers. Thecloud service bus 241 is a message-based architecture that allowsasynchronous and parallel execution of provisioning tasks across cloudservices and cloud service providers. These provisioning adapters areseparate ‘classes/libraries’ that implement specific provisioning APIsat the level of each operation mapped to the provider API. The adapterclasses are implemented using the Interface design pattern. The cloudservice bus 241 supports multiple adapter invocation approachesincluding standard web service protocols and REST API protocols, as wellas custom approaches depending on the service provider capabilities.

The cloud service bus 241 can use standard open-source JClouds (jclouds)protocol that currently has provisioning integration enabled for about30 cloud providers. The cloud service bus 241 workflows invoke jcloudsprotocol libraries using service provider metadata and credentialsconfigured in the catalog discussed above (i.e., the service catalog).

The architecture of the cloud service bus 241 and the adapter patternsupport several standards such as, for example, VMWare vCloud DirectorAPIs, OpenStack APIs, AWS APIs, jclouds APIs, Eucalyptus APIs andCloudStack APIs. The cloud service bus 241 provides the unique abilityto interoperate with emerging and changing standards with the cloud, andnormalize across them from a consumer perspective. Many of thesestandards are focused on cloud provider's ease of management of multiplecloud technologies.

Users of the CSB platform 220 can design their virtual data centersthrough a visual user friendly console. Once the design is finalized, itgoes through an authorization workflow, followed by an approvals processthat is all fully automated through the CSB platform 220. Such anauthorization workflow is critical to maintain complete control of theprocurement process. Otherwise, resources may be ordered and provisionedrandomly without proper protocol leading to rogue virtual machines andvirtual machine sprawl. Next, all the virtual resources aresimultaneously provisioned across multiple providers through the cloudservices integration module 240, which has API connections to thedifferent cloud service providers. Accordingly, cloud service consumersdo not need to create accounts and communicate with multiple providersfor their cloud requirements because this will be done for themautomatically by the cloud services integration module 240. This levelof automation also allows for easy movement of workloads between cloudservice providers.

FIG. 3A shows a functional component architecture view of the CSBplatform 202 of FIG. 4. Platform services of 202 shows the datarepositories that power the various functional components of FIG. 3A.For example, Cloud Performance Datamart in 202 is updated and used alongwith Performance Engine and Cloud Services Governor in 202 by theControl Functional module in FIG. 3A; and the Cloud Services Catalog,Discovery and Asset Manager in FIG. 3A uses the Platform services of 202Global Services Catalog, Global Resource Pool, and Architecture Modelsand Virtual Appliances, along with Virtual App and Data center ManagerFunctions shown in 202. The Cloud Services Network module in FIG. 3Arepresents the catalog content, templates and adapters built for therepresentative network of services shown in FIG. 4 outside 202 andconnected to 202.

FIG. 5 shows an architectural view of the CSB platform 202. Thearchitecture of the CSB platform 202 enables cloud brokerage services tobe delivered in a manner that provides advantageous and beneficialresults. As is discussed below in reference to the various platformengines of the CSB platform 202, the architecture of the CSB platform202 employs advanced simulation and optimization mathematical models forIT planning, sourcing, and governance.

A set of cloud decision and governance engines 270 of the CSB platform202 is configured to simulate and optimize trade-offs between cloudservice criteria such as, for example, business demand, resourcecapacity, utilization/performance, and IT sourcing policies. The set ofcloud decision and governance engines 270 enable the analysis of impactsto cloud service parameters such as, for example, cost, risk, QoS, SLAs,and application architecture for business services and applications.Based on these analyses, IT organizations and/or other entity(ies) of acloud service consumer can make decisions on preferred cloud serviceproviders to use, on the optimal cloud service capacity to deploy, andon the policies for automated scaling of capacity based on businessdemand. Thereafter, an IT organization and/or other entity(ies) of acloud service consumer can govern the operations and compliance of thesedecisions through on-going tracking and analysis against a defined plan.

A cloud services catalog engine 272 of the CSB platform 202 isconfigured to manage a comprehensive model of public/private cloudservices supply and business services demand of the cloud serviceconsumer's. An administrative entity that manages back-end operabilityof the CSB platform 202 (i.e., the various platform engines thereof)works with many cloud service providers to model their individual cloudservices and purchase-able line items with pricing and packagingstructures. The cloud service consumer (e.g., its IT Organizations) canthen define their business services and model demand for cloud servicesbased on available services in a catalog of cloud services that areavailable from the cloud service providers (i.e., a CSB cloud servicescatalog). The cloud service consumer (e.g., its IT Organizations) canalso define a custom catalog of preferred suppliers (e.g., a CSB cloudservice provider catalog that can comprise the CSB cloud servicescatalog) to help manage their sourcing policies and setup a privatemarketplace.

A cloud performance data mart engine 274 of the CSB platform 202 isconfigured to automatically aggregate and correlate metrics for cloudservice criteria such as, for example, demand, capacity, utilization,performance, cost, and risk for multiple application architecture andcloud resources across many environments and virtual data centers. Thecloud performance data mart engine 274 enables near real-time visibilityinto resource performance along with audit data to manage governance ofresource changes. Using a suitable performance data model, the systemcan scale to support thousands of resources with historical data anddeliver instant reporting.

An application architecture manager engine 276 of the CSB platform 202is configured to define application architecture blueprints usingvirtual appliances (e.g., templates) and associated resource capacitymodels to automate system construction, deployment, configuration andmaintenance across physical, virtual and cloud environments. Also, theapplication architecture manager engine 276 enables orchestration andtransaction-based automated provisioning of cloud resource changes.

A set of cloud architecture engines 278 of the CSB platform 202 providesa common set of architecture services to intelligently scale, monitor,and secure applications running across multiple cloud environments andinternal data centers. The cloud architecture engines 278 provide thefoundation, logic, and integrations to enable automated resourceprovisioning, performance management, orchestration and workflow, policymodels, and security controls.

A global cloud resource pool and cloud service provider engine 280 ofthe CSB platform 202 is configured to create, manage and control VDC'sby provisioning resources from multiple external cloud serviceproviders, private clouds and internal data centers. All resources areinventoried globally across providers and manageable through a singleunified interface. Cloud service providers are integrated into the CSBplatform 202 through common interfaces (e.g., for connectors of VDC'sand connectors of cloud managed services).

In view of the disclosures made herein, a skilled person will appreciatethat a CSB platform configured in accordance with the present inventionoffers several distinguishing aspects with respect to traditionalapproaches for enabling a cloud services to be implemented by a cloudservices consumer. One such distinguishing aspect relates to CSBfunctionality being configured for meeting end user cloud serviceconsumption use cases integrated with governance use cases for IT andbusiness managers. In this regard, such a CSB platform is configured tooperate and scale across multiple agencies and internal/external cloudservice providers communities in a centralized or federated deploymentmodel. Another such distinguishing aspect relates to CSB platform beingmodel driven and based on XML semantic ontologies. This avoids lock infor end customers while providing quick extensibility and integrationwith customers and cloud providers systems. Furthermore, the CSBplatform includes integrated analytics and policy management forintelligent resource usage, SLA compliance, and cost optimizationthereby allowing cloud service consumers to run predictive IT operationsto optimize utilization cost and SLA across an IT supply chain. Yetanother such distinguishing aspect relates to CSB platform being able tobe deployed (i.e., onsite or offsite) in multiple configurations wherean operator of the CSB platform can be an agency or a preferred serviceintegration provider. Additionally, the processes implemented via theCSB platform inter-operate with service management and governanceprocesses of other entities, which enables a staged extension of anon-broker-based operations model to a broker-based operations model.

FIG. 6 shows a data processing system 300 representative of a hardwareenvironment comprising a CSB platform configured in accordance with anembodiment of the present invention (e.g., the CSB platform 202). Aserver is one example of the data processing system 300. The dataprocessing system 300 a processor 301 coupled to various othercomponents by system bus 302. An operating system 303 runs on processor301 and provides control and coordinates the functions of the variouscomponents of the data processing system 300. 2. Software 304 inaccordance with the principles of the present invention runs inconjunction with operating system 303 and provides calls to operatingsystem 303 where the calls implement the various functions or servicesto be performed by software 304 and, optionally, other applications.Software 304 includes a set of instructions (i.e., a program) forproviding cloud service brokerage functionality configured in accordancewith an embodiment of the present invention (e.g., as disclosed above inFIGS. 2-5).

Read-only memory (“ROM”) 305 is coupled to system bus 302 and includes abasic input/output system (“BIOS”) that controls certain basic functionsof capacity planning system 104. Random access memory (“RAM”) 306 anddisk adapter 307 are also coupled to system bus 302. It should be notedthat software components including operating system 303 and software 304can be loaded into RAM 306, which may be the main memory of executionfor the CSB platform 202. Disk adapter 307 may be an integrated driveelectronics (“IDE”) adapter that communicates with a disk unit 308,e.g., disk drive.

The data processing system 300 may further include a communicationsadapter 309 coupled to bus 302. Communications adapter 309 interconnectsbus 302 with an outside network (e.g., outside network 243 shown in FIG.4) enabling the CSB platform 202 to communicate with other devices.

I/O devices may also be connected to the CSB platform 202 via a userinterface adapter 310 and a display adapter 311. Keyboard 312, mouse 313and speaker 314 may all be interconnected to bus 302 through userinterface adapter 310. Data may be inputted to the CSB platform 202through any of these devices. A display monitor 315 may be connected tosystem bus 302 by display adapter 311. In this manner, a user is capableof inputting to the CSB platform 202 through keyboard 312 or mouse 313and receiving output from the CSB platform 202 via display 315 orspeaker 314.

As will be appreciated by one skilled in the art, aspects of the presentinvention may be embodied as a system, method or computer programproduct. Accordingly, aspects of the present invention may take the formof an entirely hardware embodiment, an entirely software embodiment(including firmware, resident software, micro-code, etc.) or anembodiment combining software and hardware aspects that may allgenerally be referred to herein as a “circuit,” “module” or “system.”Furthermore, aspects of the present invention may take the form of acomputer program product embodied in one or more computer readablemedium(s) having computer readable program code embodied thereon.

Any combination of one or more computer readable medium(s) may beutilized. The computer readable medium may be a computer readable signalmedium or a computer readable storage medium. A computer readablestorage medium may be, for example, but not limited to, an electronic,magnetic, optical, electromagnetic, infrared, or semiconductor system,apparatus, or device, or any suitable combination of the foregoing. Morespecific examples (a non-exhaustive list) of the computer readablestorage medium would include the following: an electrical connectionhaving one or more wires, a portable computer diskette, a hard disk, arandom access memory (RAM), a read-only memory (ROM), an erasableprogrammable read-only memory (EPROM or flash memory), a portablecompact disc read-only memory (CD-ROM), an optical storage device, amagnetic storage device, or any suitable combination of the foregoing.In the context of this document, a computer readable storage medium maybe any tangible medium that can contain, or store a program for use byor in connection with an instruction execution system, apparatus, ordevice.

A computer readable signal medium may include a propagated data signalwith computer readable program code embodied therein, for example, inbaseband or as part of a carrier wave. Such a propagated signal may takeany of a variety of forms, including, but not limited to,electro-magnetic, optical, or any suitable combination thereof. Acomputer readable signal medium may be any computer readable medium thatis not a computer readable storage medium and that can communicate,propagate, or transport a program for use by or in connection with aninstruction execution system, apparatus or device.

Program code embodied on a computer readable medium may be transmittedusing any appropriate medium, including but not limited to wireless,wireline, optical fiber cable, RF, etc., or any suitable combination ofthe foregoing.

Computer program code for carrying out operations for aspects of thepresent invention may be written in any combination of one or moreprogramming languages, including an object oriented programming languagesuch as Java, Smalltalk, C++ or the like and conventional proceduralprogramming languages, such as the C programming language or similarprogramming languages. The program code may execute entirely on theuser's computer, partly on the user's computer, as a stand-alonesoftware package, partly on the user's computer and partly on a remotecomputer or entirely on the remote computer or server. In the latterscenario, the remote computer may be connected to the user's computerthrough any type of network, including a local area network (LAN) or awide area network (WAN), or the connection may be made to an externalcomputer (for example, through the Internet using an Internet ServiceProvider).

Aspects of the present invention are/can be described herein withreference to textual descriptions, flowchart illustrations and/or blockdiagrams of methods, apparatus (systems) and computer program productsaccording to embodiments of the present invention. It will be understoodthat portions of the textual descriptions, flowchart illustrationsand/or block diagrams, and combinations thereof can be implemented bycomputer program instructions. These computer program instructions maybe provided to a processor of a general purpose computer, specialpurpose computer, or other programmable data processing apparatus toproduct a machine, such that the instructions, which execute via theprocessor of the computer or other programmable data processingapparatus, create means for implementing the function/acts specified inthe textual descriptions, flowchart illustrations and/or block diagrams,and combinations thereof. These computer program instructions may alsobe stored in a computer readable medium that can direct a computer,other programmable data processing apparatus, or other devices tofunction in a particular manner, such that the instructions stored inthe computer readable medium produce an article of manufacture includinginstructions which implement the function/act specified in the textualdescriptions, flowchart illustrations and/or block diagrams, andcombinations thereof. The computer program instructions may also beloaded onto a computer, other programmable data processing apparatus, orother devices to cause a series of operational steps to be performed onthe computer, other programmable apparatus or other devices to produce acomputer implemented process such that the instructions which execute onthe computer or other programmable apparatus provide processes forimplementing the function/acts specified in the textual descriptions,flowchart illustrations and/or block diagrams, and combinations thereof.

CSB Platform User Interface

Turning now to specific aspects of cloud management interfacefunctionalities, FIG. 7 shows a main user page 400 of a portalconfigured in accordance with an embodiment of the present invention(e.g., a portal of the CSB platform 202 discussed above). The main userpage 400 includes a Home tab 402, a Virtual Data Center (VDC) tab 404,an Applications tab 406, a Command And Control tab 408, and an Accountstab 410. The Home tab 402 enables navigation to specific functionalities(e.g., those of other navigation tabs) and to consumer task activities.The VDC tab 404 provides functionalities related to comparing differentcloud service providers and to creating and managing VDCs and othervirtual resources. The Applications tab 406 provides functionalitiesrelated to creating, sizing, editing and managing the consumer's cloudapplications, which can be mapped to resources within a single VDC oracross multiple VDCs. The Command And Control tab 408 providesfunctionalities related to viewing and managing the consumer's orders,view monthly consolidated bills and to monitoring its VDCs andapplications. The Accounts tab 410 provides functionalities related tocreating and editing users of the consumer's cloud services, assigningroles to its users and managing its users. In this regard and as will bediscussed below in greater detail, each one of the tabs 402-410 providesa cloud services consumer access to respective information andfunctionalities.

Home Tab

The Home tab 402 includes a Tab Link section 412, a VDC Quick Linksection 414, a Recently Updated Resource section 416, and a Taskssection 418. The Tab Link section 412 provides selectors for accessingrespective functionalities, as discussed below. The Quick Links section414 provide shortcuts to create VDCs with the selected providers. TheRecently Updated Resource section 416 links provide shortcuts to the ITArchitecture view of recently created/updated VDCs and applications. TheTasks section 418 is a task manager that lists all pending tasks andproviding links to order details where action is needed.

A screen application selector 420 of the Tab Link section 412 links(i.e., navigates the interface to) to functionalities for screeningapplication for determining migration considerations, as is discussedbelow in reference to FIG. 19. A design solution selector 422 of the TabLink section 412 links to an application solution designer view of theApplications tab 406 for enabling a user (i.e., cloud service user) toplan cloud resource scenarios by creating one or more applications(i.e., use specific cloud resource configurations) and mapping the oneor more applications to different virtual data centers to compare andchoose a desired cloud service solution (i.e., cloud service provideroffering(s)). A source cloud services selector 424 of the Tab Linksection 412 links to provider offering of the VDC tab 404 for enabling auser to compare provider packages and features to determine whichprovider to select. The objective of such comparison and determinationis map application requirements to a package and use that package tocompare which cloud service provider the user want to select (i.e., notyet actually buying, provisioning or fulfilling these packages). Amanage applications selector 426 of the Tab Link section 412 links to anapplication screen (e.g., My Applications screen) of the Applicationstab 406 for enabling a user to create applications and map them to a VDCor make edits to existing applications. A review orders selector 428 ofthe Tab Link section 412 links to an order screen (e.g., My Ordersscreen) of the Command And Control tab 408 for enabling a user tosimultaneously view multiple orders across VDCs, to monitor theirstatus, and to see the history of orders associated with their existingVDCs. A consolidated bill selector 430 of the Tab Link section 412 linksto a list of bills currently in pending for the cloud service consumerfor enabling a user to navigate to detail information for a particularbill. A monitor performance selector 432 of the Tab Link section 412links to a monitoring screen of the command and control tab 408 forproviding access to dashboard that provide information relating to costand performance of a user's VDCs and Applications.

VDC Tab

The VDC tab 404 (FIG. 7) provides functionalities related to comparingVDC packages, creating new VDCs, and monitoring relationship betweenapplications and VDCs. As discussed below in greater detail, creatingVDCs entails creating resources on-demand and managed as a pool ofvirtual resources and controlled through the portal (i.e., an onlineuser interface). Instead of ordering specific line items from a catalog,a VDC is designed with capacity and/or virtual resources and then theCSB platform automatically generates an order for a selected cloudservice provider to fulfill the ordered VDC design.

A sourcing selection 440 (FIG. 7) of the VDC tab 404 takes the user to asourcing section 441 of the VDC tab 404 for allowing the user to comparecloud provider packages (i.e., VDC package offerings) at a ProviderOffering screen 442 (FIG. 8A). At this stage, a user (i.e., a cloudservices consumer) is not actually buying, provisioning or fulfillingthese packages, but is attempting to identify or map its requirements toa package and use that package to compare which cloud service providerto select. Referring now to FIG. 8A, the user chooses available packages444 to be compared by selecting (i.e., checking) a plurality of provideroffering boxes 446 and then clicks a Select button 448 next to aselected provider offering 444 to bring up the VDC ordering popup withthe configuration values already pre-populated. Clicking the Selectbutton 448 simply pre-populates the configuration values in VDC Orderscreen(s) to enable the comparison and allows the user to specify apackage configuration. Each package configuration 450 has an estimatedprice (e.g., monthly, quarterly or annually) shown. Examples of thepackage configurations include, but are not limited to, a custompackage, a small package (e.g., a relatively small cloud), a mediumpackage (i.e., a medium size cloud), and a large package (i.e., anenterprise level cloud). The used can click a View Sample SolutionPackage Details button 452 or any package column row header 454 to bringup package details. Each available package has a description 456 of theprovider offering 444. For a more detailed description, a user canselect a More Details button 458 to cause additional information (i.e.,specific package configuration information) on the provider offering 444to be displayed (i.e., outputted).

As shown in FIG. 8B, the user creates the custom package through use ofa custom package editing screen 443. The custom package can be createdby choosing to customize one of the pre-configured packages (e.g.,small, medium or large package) on the Provider Offering screen 442whereby the package customization process entails starting with all orcertain package configuration parameter fields of the custom packageediting screen 443 populated with configuration parameters based on aselected pre-configured packages and the user editing the configurationparameter of all or a portion of the package configuration parameterfields. Alternately, the custom package can be created by from theground up whereby the package customization process entails startingwith all or certain package configuration parameter fields of the custompackage editing screen 443 empty and the user editing the configurationparameter all or a portion of the package configuration parameterfields.

To compare the selected ones of the provider offerings 444 (i.e., thosewith the provider offering boxes 446 checked), the user clicks thecompare button 460 thereby causing a Provider Offerings Comparisonscreen 457 to be displayed (FIG. 9). Referring now to FIG. 9, theProvider Offerings Comparison screen 457 allows the user to compare aplurality of provider offerings (e.g., up to 3) in a side-by-side mannerwith key features highlighted for each provider offering. Choosing theselect button 462 on the Provider Offerings Comparison screen 457 causesthe user to be directed to a VDC Ordering Pop-up screen (not shown) withthe configuration values already pre-populated based on your selection.

Comparisons between provider offerings can be sorted into broadcategories of usage for Small, Medium, and Large VDCs. For example, ifthe user is running a public catalog website, it may need only twoapplication servers, one database server, and one VPN server, whereas anenterprise-class application with thousands of concurrent users may have20 web servers, 20 application servers, 12 database servers, and 8 VPNservers, with vastly increased memory, CPU, network, and storagerequirements. It is acceptable for the users exact requirements to varyfrom a particular the sample package. The user can simply pick thepackage that is closest to its needs and alter that package as part ofthe design process that is similar to the Add New VDC process discussedbelow.

Examples of comparison parameters include, but are not limited to,Description (e.g., a brief description of the provider offerings);Virtual Machine (e.g., summary of the RAM (in GB), CPUs, and localstorage (usually in GB) included in the provider offering, which can beadjusted later during an Add Resource Group process); Network (e.g.,overview for the bandwidth, VLANs, minimum guaranteed throughput,pricing model for network traffic, server load balancer and privatenetwork provisions for the provider offerings); Storage (e.g., overviewof the architecture, snapshots, backup policy, and shared storage forthe provider storage offerings); Security (e.g., summary of firewall andintrusion detection/prevention for provider offerings); SLA (e.g., whatuptime does the provider guarantee for their offering); Operating System(e.g., which operating systems the provider has available for its VMs,particular variety of OS, any restrictions on uploading your own imageto a “blank” server); Provisioning Time (e.g., time for the provider toprovision VDCs and VMs, which frequently can assume that configuring thefirst VDC created will take more time than subsequent VDCs); Support(e.g., provider support policies); Location (e.g., Geographical locationof the provider's physical data center); and Pricing (e.g., Providerpricing for small, medium and large packages). The values of comparisonparameters represent entries of a particular service e provider offeringin a catalog (e.g., service provider offering portion thereof)configured in accordance with an embodiment of the present invention.

Instead of ordering line items from a catalog, a user (e.g., a cloudservice consumer) can design a customized VDC with capacity and/orvirtual resources. Thereafter, the user can cause the CSB platform(i.e., system configured in accordance with the present invention) toautomatically generate an order for a selected cloud service provider tofulfill the VDC design order. To this end, the user can select an addVDC selection 464 (FIG. 7) of the VDC tab 404 for causing a Virtual DataCenter Pop-up screen 466 (FIG. 10) to be displayed. Referring now toFIG. 10, the Virtual Data Center Pop-up screen 466 enables the user tocreate an entirely new VDC by selecting a create new VDC button 468 ordiscover an existing VDC that it has already created (e.g., outside theportal using provider tools) by selecting a discover existing VDC button470. As discussed below in greater detail, pulling in an existing VDCcan be implemented by the user being instructed to first discover theexisting VDC, then replicate information of the existing in the portal,and then synchronize all its existing VMs to the portal using a syncprocess. Clicking the Save button 468 during any point after the userhas named the VDC causes that names VDC to appear in the My Virtual DataCenters list in the Recently Updated Resource section 416 of the homenavigation tab 402 (FIG. 7) with a status indicated as being “Created”.

Referring to FIGS. 10 and 11, a method 500 (FIG. 11) for setting up aVDC is shown. A step 502 is performed for selecting the Add VDC button464 of the VDC tab 404 (FIG. 7) for causing the Virtual Data CenterPortfolio Pop-up screen 466 (FIG. 10) to be displayed. The user has thechoice of performing a step 504 for selecting the create new VDC button468 for creating a new VDC or performing a step 506 for selecting thediscover existing VDC button 470 for setting up a VDC based on anexisting VDC that has been created outside of the CSB platform 202.

When setting up a new VDC, a step 508 is performed for querying the userif the cloud service provider for the VDC is known or not. If the cloudservice provider for the VDC is known, a step 510 is performed forenabling the user to select the provider at the provider entry box 472of the Virtual Data Center Portfolio Pop-up screen 466 (FIG. 10). If thecloud service provider for the VDC is unknown, the user can select HelpMe Pick A Provider button 474 of the Virtual Data Center PortfolioPop-up screen 466 in FIG. 10 thereby implementing a step 512 forenabling the user to determine a desired cloud service provide (e.g.,via the comparison method discussed above in reference to FIGS. 8 and9). Once the desired provider is determined, the step 512 is performedfor enabling the user to select the provider at the provider name box472 in conjunction with a step 514 being performed for enabling the userto select a VDC location at a VDC location box 476 of the Virtual DataCenter Portfolio Pop-up screen 466 (FIG. 10) and a step 516 beingperformed for enabling the user to name the VDC at the VDC name box 478of the Virtual Data Center Portfolio Pop-up screen 466 (FIG. 10). Theprovider name box 472, the VDC location box 476 and the VDC name box 478are within a VDC details section 479 of the Virtual Data CenterPortfolio Pop-up screen 466 (FIG. 10).

The user is then prompted to perform a step 518 for choosing whether toadd the newly created VDC using an existing cloud consumer account byselecting an existing cloud consumer account button 480 of the VirtualData Center Portfolio Pop-up screen 466 (FIG. 10) or a new provideraccount by selecting a new provider account button 482 of the VirtualData Center Portfolio Pop-up screen 466 (FIG. 10). If adding the newlycreated VDC using a new provider account, the user also chooses pricingdetails. The account options provider name box 472, the VDC location box476 and the VDC name box 478 are within a VDC details section 479 of theVirtual Data Center Portfolio Pop-up screen 466 (FIG. 10).

A step 520 is performed for enabling the user to enter provider-specificinformation. Examples of provider-specific information include, but isnot limited to, information related to capacity being charged based onreserved capacity, supporting bursting at additional cost based on thebursting amount needed; information related to a number of resourcesthat can be created and their actual utilization counts toward reservedcapacity; information related to resources being charged based on hourlymetering of the allocated capacity turned on; information related toeach resource being allocated and turned on being charged independently;information related to capacity not being pre-ordered whereby managedphysical servers are required for applications or middleware that cannotbe installed on virtual resources; information related to VDCs notrequiring reserved capacity; and information related to package plansbased on RAM hours and data transfer with pay-as-you-go ormonthly/annual pre-pay options.

The user is then prompted to select the Next button 484 of the VirtualData Center Portfolio Pop-up screen 466 (FIG. 10) and a step 522 isperformed for enabling the user to view Bill of Materials (BOM)information 486 for the new VDC. The BOM information 486 is displayed ina BOM details information section 488 of the Virtual Data CenterPortfolio Pop-up screen 466 as shown in FIG. 10. For example, the BOMinformation can be a consolidated bill with any and all orders that theuser has modeled. A step 524 is then performed for giving the user theoption of performing a step 526 for initiating a design architectureprocess for designing VMs that the user would like to provision,performing a step 528 for requesting order approval to send the orderthrough an approval process, or a step 530 for saving the order andoptionally taking the user back to the Virtual Data Center screen 466 tomodel a VMs and/or additional services.

Referring now to FIG. 13, when selecting the discover existing VDCbutton 470 for setting up a VDC based on an existing VDC that has beencreated outside of the CSB platform 202, the method 500 performs a step532 for enabling the user to enter a provider at a provider entry box ofa screen similar to the Virtual Data Center Portfolio Pop-up screen 466(FIG. 10), performs a step 534 for enabling the user to enter a VDClocation at a VDC location box of a screen similar to the Virtual DataCenter Portfolio Pop-up screen 466 (FIG. 10), and performs a step 536for enabling the user to enter a name of the VDC at a VDC name box of ascreen similar to the Virtual Data Center Portfolio Pop-up screen 466(FIG. 10). A step 538 is performed for enabling the user to enterprovider account information (e.g., credentials) at a provider accountentry box of a screen similar to the Virtual Data Center PortfolioPop-up screen 466 (FIG. 10). A step 540 is then performed for verifyingthe provider account information and retrieving the VDC(s) in responseto the provider account information being successfully verified. A step543 is performed for enabling the user to enter sync and/or provisioningproperties at a synch/provisioning properties box of a screen similar tothe Virtual Data Center Portfolio Pop-up screen 466 (FIG. 10). Forexample, the user can choose whether or not to include public or VPC(Virtual Private Cloud) resources. A step 542 is then performed forgiving the user the option of performing a step 544 for enabling theuser to start a process for synchronizing selected VDCs to the portal oran operation 546 for saving the gathered information and taking the userback to the Virtual Data Center Portfolio Pop-up screen 466.

Referring back to FIG. 11, when the step 526 is performed for initiatingthe design architecture process, the method 50 takes the user to an ITArchitecture page of the VDC tab 404 (discussed below in greaterdetail). The IT Architecture page provides a composite (e.g., singlepane of glass) view to model and provision resources and services fromdifferent providers. Once the user is finished designing its ITarchitecture, the user can access the BOM details information section488 of the Virtual Data Center Portfolio Pop-up screen 466 to view itsentire order, including VDC, resources and services and the associatedline items from the service catalog grouped by VDC and serviceproviders.

Referring back to FIG. 11, when the step 528 is performed for requestingorder approval to send the order through the order approval process, theBOM details information section 488 of the Virtual Data Center PortfolioPop-up screen 466 appears and shows a consolidated bill detailing allitems that have been created. The detail line items will also be pricedand a total monthly recurring cost calculated. For every line item, thecharge can be a fixed monthly recurring charge (MRC), an estimated usagecharge, or a non-recurring charge (NRC or one-time charge). Usage-basedcharges are based on actual resources utilization. Unit and Unit Priceindicate the utilization units and price used to measure how line itemsare charged. Quantity represents the actual utilization values by whichthe unit price is multiplied. When line items have a unit-based charge,the default estimated usage charge can assume the resource is fullyutilized for the entire calendar month.

The order approval process requires that the VDC order goes throughTechnical, Legal, and Financial approval before the order can officiallybe placed. In this regard, a Technical Approver, Legal Approver, andFinancial Approver must approve the order for enabling the order to beplaced. Orders can include a VDC, virtual machines, applications andservices, which can all be modeled using a CSB platform configured inaccordance with an embodiment of the present invention (e.g., the CSBplatform 202). Workflow of the order approval can be customized byassigning multiple customer roles to a single user. For example, if theuser's role includes Technical Approver and Financial Approver roles,the appropriate Technical and Financial checkboxes in an order approvalpop-up screen would be enabled, which can then be selected in a singlestep for approving the order. A comment box allows can be provided forenabling a user to communicate with other users (e.g., approvers) andleave comments shown in an Order History view for an order. The OrderHistory view shows all of the approvals that have been recorded. Oncecurrent status changes to “Approved” (i.e., after all approvals havebeen obtained), the user can place the order for processing.

After the order approval process is successfully completed, the VDCorder can be placed by selecting a Place Order button on an appropriatescreen. In response, the order status changes to Submitted and the VDCorder is sent to forwarded from the CSB platform 202 the appropriatecloud service provider. A CSB platform administrator communicates withcloud service provider to ensure proper order fulfillment and updatesstatus progress. After submitting the new order (either the firstinitial order or any change order), status changes to Order in Progress.Once the order has been fulfilled, the VDC order status changes toActive.

Through a suitable action (e.g., selection of a myVDCs selection 465 atthe VDC tab 404), the user is presented with a myVDCs section 490 of theVDC tab 404, as shown in FIGS. 14 and 15. At a myVDCs page 491 in themyVDCs section 490 (FIG. 14), the user's VDCs are listed along withtheir corresponding status (e.g., Created, Approval in Progress, OrderIn Progress, Provisioning In Progress, Changes Pending, Active,Inactive). If the status of any particular VDC sis Created or Active,resources can be modeled through on an IT Architecture page 492 of theVDC tab 404, as discussed below in greater detail. The BOM informationdiscussed above in reference to FIG. 12 can be accessed via the Bill ofMaterials page 493 of the VDC tab 404. A VDC Details page 494 of the VDCtab 404 shows various properties and actions available for a selectedVDC (e.g., VDC named “Database” selected within drop down menu 495 ofthe VDC Details page 494). Advantageously, as discussed below in greaterdetail, certain ones of the pages of one screen are also a viewable pageoption of another screen (e.g., the IT Architecture page 492 is aviewable option within the VDC tab 404 and within the Applications tab406).

Referring now to FIG. 16, an IT Architecture page 492 of the VDC tab 404is shown. The IT Architecture page provides a composite (e.g., singlepane of glass) view of an architecture layout 498 of resources within aselected VDC (i.e., as designated at a VDC dropdown list 496), enablescomprehensive service aggregation, and enables the user to model andprovision VDC resources and services from different providers. Inessence, the IT Architecture page 492 provides the user with a cloudlevel view of the resources that populate its cloud (i.e., provides anillustrative depiction of what is in the user's cloud(s)). The ITArchitecture page 492 enables the user to create resources and resourcegroups. All resources are assumed to be in a resource group, even ifthere is only one resource in the group. Resource groups can be assignedto an architectural layer such as, for example, a Web Server layer, anApplication Server layer, a Database Server layer, a Shared Storagelayer, a LDAP layer, or the like. Resource groups can also be assignedto an application environment such as, for example, a Developmentenvironment, a Test environment, a development/test environment, aperformance environment, a disaster recovery environment, or the like.

Advantageously, assignment of resources to a respective architecturallayer and a respective application environment allow the resources ofeach VDC (and network on which the VDC is hosted) to be presented to theuser in a plurality of different resource views 500. As shown in FIG.16, at the VDC tab 404, these views include, an Environment view 502, aLayer view 504, an Application view 506, and a Network view 508.Furthermore, selection of a given one of the layers 502-508 allowsmulti-level filtering on a per-view basis. For example, the architecturelayout 498 in FIG. 16 is filtered with the environment view 502 as aprimary filter and the layer view 504 as a secondary filter. It shouldalso be understood that the layers can be defined on a per-tab basis.For example, in the VDC tab, the Application view 506 is availablewhereas, when the IT Architecture page 492 is accessed from within theApplication tab 406 (FIG. 7), the Application view 506 is replaced witha VDC view (i.e., resources filtered based on the VDC in which they area resource).

Resource group specification information 510, resource group utilizationinformation 512, and resource status information 514 is presented at theIT Architecture page 492. Examples of the group specificationinformation 510 include, but are not limited to, VM name, VM prefix, VDCtemplate name, application name, provider name, environment name,processor specification, memory size, network name, VM quantity and thelike. Examples of resource group utilization information includes, butare not limited to, compute resource (e.g., CPU) utilization amount,memory resource (e.g., RAM) utilization amount, and storage (e.g.,harddrive, flash, etc) utilization amount. Examples of resource statusinformation includes, but are not limited to, created, in planning,order in progress, provisioning in process, active, changes pending,inactive, submitted, approval in process, submitted to provider, and thelike.

At the IT Architecture page 492, the user can manage resources such as,for example, though use of the Action menu 516. Examples of ResourceGroup management actions include, but are not limited to, configuringcapacity/storage (e.g., increase the amount/quantity of processors,memory, network bandwidth, storage, etc); increasing quantity of a VM;deleting a resource group; moving selected resources between VDCs,environments, or layers; managing VMs parameters (e.g., name, status,capacity, login password and IP address, etc); controlling power stateof VMs (e.g., power on, power off, reboot). Examples of VDC managementactions include, but are not limited to, adding resource groups (e.g.,VMs), adding VMs to a VDC, a adding resources or services to a VM;viewing services configured to a VDC as well as service provider and theservice status; provisioning changes made to a VDC; connecting into aVDC using a VPN connection; viewing activity logs for a VDC; andsynching to an existing VM.

FIGS. 16 and 17 show that resource groups of each environment (e.g.,Production environment, Disaster Recover environment, Dev/Testenvironment, Performance environment, etc) are associated withrespective layers (e.g., Web Server layer, Application Server layer,Database Server layer, etc). Each resource (e.g., the selected resourcegroup 520 in FIG. 17) shows a VM quantity indicator 522 and a VM statusindicator 524. The VM quantity indicator 522 is visible in statuses suchas Planning to show the number of VMs that are in the resource group. Asthe VMs are provisioned and brought to an active status, the VM quantityindicator 522 is decremented and the VM status indicator 524 shows thenumber of VMs that are active (e.g., powered up as indicated by numbernext to up arrow) and the number that are not powered up (e.g., notpowered up (e.g., inactive) as indicated by number next to down arrow).For example, the VM quantity indicator 522 for the selected resourcegroup 520 indicates that this resource group has one (1) VM (i.e.,indicated by “+1”) and the VM status indicator 524 for the selectedresource group 520 indicates that VM is not yet provisioned (i.e.,indicated by “0” next to the up and down arrows and thus is not activeor inactive. Once provisioning is complete, the +1 will be removed andthe VM status indicator 524 will indicate that the VM is active (i.e.,indicated by “1” next to the up arrow) or, if so set, inactive (i.e.,indicated by “1” next to the down arrow). Accordingly, one can see thatthe VM quantity indicator 522 and the VM status indicator 524 (and otherinformation in the VDC tab 404) jointly provide information as to anumber of VMs in a resource group, the provisioning status of a resourcegroup (e.g., the VMs thereof), the activity status of the resource group(e.g., the VMs thereof once provisioned), and a current status of a VDCcomprising the resource group.

Applications Tab

The Applications tab 406 (FIG. 7) provides functionalities related tocreating, editing and managing applications. Examples of applicationsinclude, but are not limited to, custom business applications, ITapplications, third-party applications and SaaS applications. Throughthe Applications tab 406, a user can perform actions such as, forexample, creating new applications, map virtual data centers toapplications; define, view and manage application architecture within asingle VDC or across multiple VDCs; and associate applications withvirtual resources. When a resource is associated to an application andVDC, mapping created automatically between that application and the VDCenables collaboration and orchestration of Application resources formany users.

Through a suitable action (e.g., selection of a myApplications selectionat the Applications tab 406), the user is presented with amyApplications section 550 of the Applications tab 406, as shown in FIG.18. As shown in FIG. 18, various information pages can be accessed viathe myApplications section 550 of the Applications tab 406. Examples ofthese pages include an applications details page, a demand page, a VDC,page, an IT architecture page, a capacity plans page, a bill ofmaterials page, and a summary page. Advantageously, at least a portionof this information is presented in the context of the availableapplications (e.g., on a per-application basis). For example, asdiscussed above in reference to the VDC tab 404, the IT Architecturepage 492 (FIG. 16) can be accessed from within the Application tab 406.In this regard, IT architecture functionalities such as those discussedabove in reference to the VDC tab 404 can be performed from themyApplications section 550 via the IT Architecture page 492. Asdiscussed above in reference to the VDC tab 404, assignment of resourcesto a respective architectural layer and a respective applicationenvironment allow the resources of each VDC (and network on which theVDC is hosted) to be presented to the user in a plurality of differentresource views 500. As shown in FIG. 18, at the Applications tab 406,these views include, the Environment view 502, the Layer view 504, theNetwork view 508 and the VDC view 511. In this regard, in theApplications tab 406, the IT Architecture page 492 provides a compositeview of the architecture layout 498 of resources within a selectedApplication (i.e., as designated at a application dropdown list 552),enables comprehensive service aggregation, and enables the user to modeland provision VDC resources and services from different providers.

At an Applications Details page 554 (e.g., assessed by a correspondingselection at the myApplications section 550) on the Applications tab406, the user can view application properties information, applicationclassification information and application history information on aper-application basis. Examples of the application propertiesinformation includes, but are not limited to, name of the application;name of a scenario associated with the application; a description of theapplication; an architecture type (e.g., Java N-Tier, JavaClient-Server, .NET N-Tier, .NET Client Server, etc); status of theapplication (e.g., Created, Provisioning in Progress, Active, ChangesPending, and Inactive); a date the application was first created;contact information for a person associated with the application; andrevision information for the application. The application classificationinformation relates to application templates, supported environments(e.g., Development, Disaster Recovery, Production and Test), andarchitectural layers (e.g., Application Server, Database Server and WebServer). The application history information relates to history of editsto a selected application. Examples of the application historyinformation includes, but are not limited to activity carried out on theapplication; date and time an activity occurred; the user updating theapplication; and description of the change.

The Applications tab 406 provides functionality for determining whetheror not an application of a user (i.e., a cloud service consumer) is agood candidate to migrate to a cloud, as well as whether the user isready to make that transition. This functionality is embodied in theApplications tab 406 (e.g., in the myApplications section 550) as anapplication screener 570, as shown in FIG. 19. The application screener570 includes a portion for assessing applications (i.e., an applicationassessing portion 572), a portion for presenting applicationrecommendations (i.e., an application recommendations portion 574), aportion for visually depicting application migration recommendation(i.e., an application migration chart 576), and a portion for visuallydepicting recommended cloud architecture for supporting migration of theapplication (i.e., a migration infrastructure chart 578). Theapplication assessing portion 572 enables a user to subject anapplication to an assessment process for determining migration factorssuch as, for example, a relative migration readiness and a relativemigration savings. The application recommendations portion 574 presentsrecommendation information for an application selected within theapplication assessing portion 572. Examples of the recommendationinformation include, but are not limited to, information related tomigration feasibility relative to infrastructure, budget, and deploymenttime; information quantifying cost of migration, savings from migrating,and time to implement migration. The application migration chart 576depicts a relative benefit of migrating the application with regard toreadiness and value. The migration infrastructure chart 578 depicts arecommended infrastructure for migrating the application with regard tolevel of cloud (e.g., commodity or enterprise) and type of cloud (e.g.,public or private).

Selecting an Add New Application field 580 in the an applicationassessing portion 572 of the application screener 570 initiates anapplication assessment process for evaluating migration of a particularapplication. In response to selecting the Add New Application field 580,a plurality of steps are performed for providing information upon whichthe application will be assessed. Examples of this information include,but are not limited to, application name; application category; numberof concurrent users the application supports; annual growth rate for theapplication; demand variability if application demand varies by time ofday, day of week, week or month, and/or month of year; location detailsincluding geographical dispersal, use of mobile apps (e.g., whether theuser's organization functions independently or is susceptible to poweroutages or disasters); if the application is dependent on other upstreamapplications; the application platform (e.g., x86, Sun Sparc, PowerPC,and/or Mainframe) and the application OS (e.g., Linux, Windows, AIX,Solaris, and/or HP UX); if the online architecture is web-based,client-server or mainframe with terminal emulation; if the batcharchitecture is homogenous or heterogeneous with the onlinearchitecture; how many servers are required for each of development,test, production and disaster recovery environments; additional storageneeds; bandwidth needs; required network reliability; time frame formigration; estimated budget for the migration; IT staff headcount; if acloud migration strategy and/or organization exists; if the user'sfinancial department has been updated to support a Cloud strategy; isthere are any basic cloud monitoring tools in place and if they areacross applications and systems; if there is a central configuration andmanagement tool in place; if there is auto-provisioning and deploymentgovernance tools in place; if the user own all hardware; if hardwareis/will be located onsite or offsite; and if data is/will be onsite oroffsite. The specific information for which the user is queried will bedependent on the specific implementation of the application assessmentprocess.

Command and Control Tab

The Command And Control tab 408 (FIG. 7) provides functionalitiesrelated to managing orders, viewing monthly consolidated bills, andmonitoring VDCs and applications. Through the Command And Control tab408, the user can access various monitoring dashboards (i.e., pages) totrack capacity, cost and utilization of resources or applications.Through the Command And Control tab 408, the user can also access andedit current orders in the system as well as access a consolidated billfor each calendar month showing actual charge details for all servicesfrom all providers.

Advantageously and beneficially, monitoring dashboards of the CommandAnd Control tab 408 to track capacity, cost and utilization of VDCs(i.e., resources) and applications. More specifically, the monitoringdashboards enable a user to track capacity, cost and utilization ofprovisioned resources and to track capacity, cost and utilization ofapplications. These monitoring dashboards provide detailed informationrelating to aggregate spending across applications and VDCs, includingdeployment environments and architecture layers. The followingdiscussion in regard to monitoring dashboards is directed to VDCs, butthe same dashboard monitoring functionalities can be directly applied tomonitoring applications (i.e., dashboard analysis by cloud allows a useryou to monitor its provisioned clouds by VDC/Provider and dashboardanalysis by application allows the user to monitor its provisionedapplications).

Through a suitable action (e.g., selection of a myDashboards selectionat the Control And Command tab 408), the user is presented with amyDashboards section 600 of the Control And Command tab 408, as shown inFIGS. 20-25. The myDashboards section 600 includes a drop-down menu 602through which a desired one of a plurality of dashboards can beselected. Examples of information that can be presented via thedashboards include, but are not limited to, capacity cost trends, costanalysis, capacity summary, chargeback summary, and utilization. In thisparticular discussion, the selected dashboards is relate only to VDCanalysis. But, dashboard for application analysis can be similarlyselected at the drop-down menu 602.

FIG. 20 shows a VDC capacity cost trends dashboard 604 configured inaccordance with an embodiment of the present invention. A similardashboard can be provided for presenting the same information forapplications. As can be seen, for a particular VDC as specified inanalysis content selection field(s) 608 and time period as specified inanalysis time period field(s) 609, the VDC capacity cost trendsdashboard 605 includes the following information: Cost by Resource Typein the form of a pie chart 606 showing the percentage cost for each typeof resource (CPU, memory, etc.); Cost Trend in the form of aconsolidated line chart 610 that tracks CPU cost, storage cost, managedservices, memory cost, and network cost; CPU Analysis (e.g., $ vs. GHz)in the form of a cost bar chart 612 with capacity trend lines for CPUGHz (e.g., GHz is a proxy measure adding up the collective GHz of allprovisioned CPUs); Memory Analysis (e.g., $ vs. MB) in the form of acost bar chart 614 with capacity trend lines for memory; StorageAnalysis (e.g., $ vs. GB) in the form of a cost bar chart 616 withcapacity trend lines for storage cost per GB; Network Analysis in theform of a line chart 618 that shows monthly network costs and managedservices analysis in the form of a line chart 620 that shows monthlymanaged services costs.

FIG. 21 shows a VDC cost analysis dashboard 622 configured in accordancewith an embodiment of the present invention. A similar dashboard can beprovided for presenting the same information for applications. As can beseen, for a particular VDC as specified in analysis content selectionfield(s) 623 and time period as specified in analysis time periodfield(s) 624, the VDC cost analysis dashboard 622 includes the followinginformation: Cost by Resource Type in the form of a pie chart 626 thatshows cost percentage by managed services, memory, CPU, storage, andnetwork; Cost by Environment in the form of a pied chart 628 that showscost percentage by each environment (e.g., production, disasterrecovery, etc.); Cost by Architectural Layer in the form of a pie chart630 that shows cost percentage by architectural layer (Web Server,Database Server, etc.); and Detailed VDC Cost Measures in the form of atable 632 that shows costs and deviation percentages in tabular form(e.g., planned monthly cost for the resource type, actual monthly costfor the recourse type, percentage deviation from planned cost, plannedyear to date cost for the resource type, actual year to date cost forthe recourse type, and percentage deviation from planned cost as theyrelate to managed services, memory cost, CPU cost, storage cost andnetwork cost).

FIG. 22 shows a VDC capacity summary dashboard 640 configured inaccordance with an embodiment of the present invention. A similardashboard can be provided for presenting the same information forapplications. As can be seen, for a particular VDC as specified inanalysis content selection field(s) 642 and time period as specified inanalysis time period field(s) 644, the VDC capacity summary dashboard640 includes the following information: CPU Capacity Detail in the formof a vertical bar chart 646 and corresponding numeric value 648indicating utilized CPU capacity and a numeric value 650 indicatingallocated CPU capacity; Memory Capacity Detail in the form of a verticalbar chart 652 and corresponding numeric value 654 indicating utilizedmemory capacity and a numeric value 656 indicating allocated memorycapacity; Storage Capacity Detail in the form of a vertical bar chart658 and corresponding numeric value 660 indicating utilized storagecapacity and a numeric value 662 indicating allocated storage capacity;and Detailed VDC Capacity Measures in the form of a table 664 that showscosts and deviation percentages in tabular form (e.g., planned monthlycapacity for the resource type, actual monthly utilization for therecourse type, percentage deviation from planned capacity, plannedyear-to-date capacity for the resource type, actual year-to-dateutilization for the resource type, and percentage deviation from plannedcost as they relate to aggregate capacity (GCU), total CPU capacity(GHz), total memory RAM (GB), total storage (GB), total shared storage(GB), and total backup storage (GB)).

FIG. 23 shows a VDC utilization dashboard 670 configured in accordancewith an embodiment of the present invention. A similar dashboard can beprovided for presenting the same information for applications. As can beseen, for a particular VDC as specified in analysis content selectionfield(s) 672 and time period as specified in analysis time periodfield(s) 674, the VDC utilization dashboard 670 includes the followinginformation: Monthly CPU Utilization Trends in the form of a line chart676 that shows month-by-month trend lines for CPU Maximum and CPUAverage utilization percentage; Monthly Memory Utilization Trends in theform of a line chart 678 that shows month-by-month trend lines forMemory Maximum and Memory Average utilization percentage; and VDCPerformance Summary in the form of a table 680 that shows name andlocation of the VDC; average CPU utilization percentage for a selectedtimeperiod; CPU utilization percentage for the selected timeperiod;average memory utilization percentage for the selected timeperiod;maximum memory utilization percentage for the selected timeperiod;access to a VDC detailed utilization dashboard; and a link to externallymonitored information.

FIG. 24 shows a VDC detailed utilization dashboard 682 configured inaccordance with an embodiment of the present invention. A similardashboard can be provided for presenting the same information forapplications. As can be seen, for a particular time period as specifiedin analysis time period field(s) 683, the detailed VDC utilizationdashboard 682 includes the following information: Monthly CPUUtilization Trends in the form of line chart 684 that showsmonth-by-month trend lines for CPU maximum and CPU average utilization;Monthly Memory Utilization Trends in the form of a line chart 686 thatshows month-by-month trend lines for memory maximum and memory averageutilization; and Detail Utilization by Virtual Data Center in the formof a table 688 that shows name of the VDC environment; name of theArchitectural layer; average CPU utilization percentage for the selectedmonth; maximum CPU utilization percentage for the selected timeperiod;average memory utilization percentage for the selected timeperiod; andmaximum memory utilization percentage for the selected timeperiod.

FIG. 25 shows a VDC Chargeback Summary dashboard 690 configured inaccordance with an embodiment of the present invention. A similardashboard can be provided for presenting the same information forapplications. As can be seen, for a particular VDC as specified inanalysis content selection field(s) 691 and time period as specified inanalysis time period field(s) 692, the VDC Chargeback Summary dashboard690 includes the following information: Cost by VDC in the form of a piechart 694 that shows a breaking down cost percentage by VDC for aparticular timeperiod; VDC Cost Trends in the form of a line chart 696that tracks the cost of each VDC on a specified timeperiod interval; andDetail Cost Breakdown in the form of a table 698 that shows name andlocation of the VDC; Total VDC cost for the timeperiod; total CPU costfor the timeperiod; total memory cost for the timeperiod; total storagecost for the timeperiod; total network cost for the timeperiod; andtotal managed services costs for the timeperiod.

Through the Command And Control tab 408, the user can access pages forviewing various information related to cloud resources. One or morepages can be accessed for viewing resource order information (e.g., VDCorders discussed above in reference to the VDC Tab 404). One or morepages can be accessed for viewing bill of material (BOM) information(e.g., Bills of Material discussed above in reference to VDC Tab 404).One or more pages can be accessed for viewing billing information (e.g.,the consolidated bill discussed above in reference to the VDC Tab 404).

Accounts Tab

The Accounts tab 410 (FIG. 7) provides functionalities related user ofthe CSB platform. Users perform a variety of functions, the access towhich is determined by their roles and optionally their organization'splatform subscription level. (i.e., cloud service consumer account). Tothis end, The Accounts tab 410 provides access to functionalities forassigning roles (e.g., approval roles as discussed above in reference tothe VDC Tab 404) and adding editing and managing user information.Examples of such roles include, but are not limited to, CustomerAdministrator (e.g., manages and maintains the organization's list ofauthorized users and assigns the roles they perform in the system);Customer Executive (e.g., accesses “Executive-level” information andcapabilities, which can include organizational/summary performanceinformation, analysis and forecast reports, and governance information);Customer IT User (e.g., usually an IT Architect that performsInformation Technology-related tasks and activities such as modeling andmanaging virtual services); Customer Financial Approver (e.g., reviewsand approves or rejects financial tasks within workflows includingreviewing the Bill of Materials created when an order is placed);Customer Technical Approver (e.g., reviews and approves or rejectstechnical tasks within workflows); Customer Legal Approver (e.g.,reviews and approves or rejects legal tasks within workflows includingreviewing Terms & Conditions); Customer Cost Analyst (e.g., reviews andapproves or rejects financial tasks within workflows); Customer ITApplication Analyst (e.g., monitors application performance usingplanned and allocated capacity, and utilization metrics.); Customer ITVDC Analyst (e.g., monitors VDC performance using planned and allocatedcapacity, and utilization metrics); and Customer Solution Analyst (e.g.,identifies the right solution based on business and IT requirements).

CSB Catalog

As disclosed above, one advantageous aspect of the present invention isthe services catalog that includes services from available public cloudproviders. As previously disclosed, a cloud service consumer can use aprivate cloud catalog and service package template to quicklyoperationalize an enterprise CSB solution. For example, a cloud servicescatalog and asset manager module of a CSB platform configured inaccordance with an embodiment of the present invention enables (e.g.,via the CSB platform access portal) command and control services thatare critical to successful adoption and acceptance of the cloud servicesmodel (i.e., cloud services catalog and asset manager functionality).Furthermore, a resource solution center of a CSB platform configured inaccordance with an embodiment of the present invention can serve as asingle point (e.g., one-stop) source for all of virtual resourceservices needs of a user of the CSB platform. To this end, the resourcesolution center is configured to correlate service catalog line items toan available cloud service selection (i.e., a resource context). In thisregard, a services catalog configured in accordance with an embodimentof the present invention is highly customizable.

Broadly speaking, the catalog supports an abstraction of marketplaceservices and categorizations that then maps to provider specific catalogline items. In this regard, a cloud services catalog provides a serviceabstraction that can map to one or more provider services/line items.Additionally, attributes that are specific to cloud service consumerssuch as, for example, pricing rules, security, and access constraintscan be defined in the same catalog. This allows for a high degree offunction and flexibility. This also simplifies maintenance as well asenables comparison of cloud services and plans from different providers.One example of an attribute of a CSB platform that is provided via acatalog configured in accordance with an embodiment of the presentinvention relates to contract based pricing for cloud business models(e.g., reserved capacity, pay-as-you-go, memory plans, bursting, VMbased pricing, etc. along with discounts, upcharges, business managementfees, and spend based fees). Another example of an attribute of a CSBplatform that is provided via a catalog configured in accordance with anembodiment of the present invention relates to on-going dailysynchronization of certain catalog components that are rapidly changingin the cloud world (e.g., a list of AMIs (Amazon Machine Images) issynchronized on a periodic scheduled basis (e.g., nightly)). Anotherexample of an attribute of a CSB platform that is provided via a catalogconfigured in accordance with an embodiment of the present inventionrelates to cloud services business models, legal agreements (e.g.,flow-through terms, pricing rules for the cloud supply chain toaccommodate upcharges & management fees for different entities in thesupply chain such as resellers, distributors, System Integrators, CSBOperators, etc).). Another example of an attribute of a CSB platformthat is provided via a catalog configured in accordance with anembodiment of the present invention relates to cloud service abstractionthat maps to underlying cloud provider catalog line items. This enablesa consumption view of a cloud service that maps to one or more cloudprovider catalog line items and also enables an aggregated or composedservice that goes across multiple cloud provider line items (e.g., avalue added service by an SI that is made of a set of underlyingprovider services bundled with a managed service and support servicesprovided by the SI with a unique cost model that is different from thatof the provider service(s). Another example of an attribute of a CSBplatform that is provided via a catalog configured in accordance with anembodiment of the present invention relates to multi-tenancy support inthe form of consumer-specific views of the catalog (e.g., acrossservices, providers, pricing and branding), provider-specific line itemmanagement (e.g., data import/export/user interface/API) and CSBoperator management capabilities (e.g., publishing a private cloudinstance into a set of cloud services, templates for converting aprivate cloud instance into a set of cloud services for consumption, andthe like).

Referring now to FIGS. 26-29, a method for adding a service provider toa catalog of the CSB platform 202. For example, through a suitableaction (e.g., selection of an add provider selection at a catalogmanagement tab of the CSB platform 202 (e.g., a portal thereof), aprovider screen 700 (FIG. 26) of a catalog management section 702 of thecatalog management tab is displayed. The provider screen 700 includesprovider details 704 for providers that are currently configured withinthe CSB platform and includes an Add Provider button 706 for enablingnew providers to be added. Selection of the Add Provider button 706causes a process for creating a new provider within the service catalogof the CSB platform 202 to be initiated. A provider information pop-upscreen 708 (FIG. 27) is displayed for enabling provider information 710to be entered. A provider properties pop-up screen 712 (FIG. 28) isdisplayed for enabling provider properties 714 to be entered. A providerterms and conditions pop-up screen 716 (FIG. 29) is displayed forenabling provider terms and conditions 718 to be entered. The providerinformation 710, the provider properties 714, and the provider terms andconditions 718 are then used for creating a new provider offering withinthe service catalog of the CSB platform 202.

Referring now to FIGS. 30-33, a method for adding a service providerplan to a catalog of the CSB platform 202. For example, through asuitable action (e.g., selection of an add provider plan selection atthe catalog management tab of the CSB platform 202 (e.g., a portalthereof), a plans screen 730 (FIG. 30) of the catalog management section702 of the catalog management tab is displayed. The provider screen 730includes provider plan details 734 for providers that are currentlyconfigured within the CSB platform and includes an Add Plan button 736for enabling new provider plans to be added. Selection of the Add Planbutton 736 causes a process for creating a new provider plan within theservice catalog of the CSB platform 202 to be initiated. A planinformation pop-up screen 738 (FIG. 31) is displayed for enabling planinformation 740 to be entered. A plan properties pop-up screen 742 (FIG.32) is displayed for enabling plan properties 744 to be entered. A planspecification pop-up screen 746 (FIG. 33) is displayed for enabling planspecifications 748 to be entered. The plan information 740, the planproperties 744, and the plan specifications 748 are then used forcreating a new plan offering within the service catalog of the CSBplatform 202. An instance of a cloud can be added through a similarprocess.

Referring now to FIGS. 34-37, a method for adding a provider service toa catalog of the CSB platform 202. For example, through a suitableaction (e.g., selection of an add provider service selection) at thecatalog management tab of the CSB platform 202 (e.g., a portal thereof),a provider services screen 760 (FIG. 34) of the catalog managementsection 702 of the catalog management tab is displayed. The providerscreen 760 includes service plan details 764 for providers that arecurrently configured within the CSB platform and includes an Add Servicebutton 766 for enabling new services to be added. Selection of the AddService button 766 causes a process for creating a new service withinthe service catalog of the CSB platform 202 to be initiated. A serviceinformation pop-up screen 768 (FIG. 35) is displayed for enablingservice information 770 to be entered. A service properties pop-upscreen 772 (FIG. 36) is displayed for enabling service properties 774 tobe entered. A service terms and conditions pop-up screen 776 (FIG. 33)is displayed for enabling service terms and conditions 778 to beentered. The service information 770 (FIG. 35), the service properties744, and the service terms and conditions 778 are then used for creatinga new provider service offering within the service catalog of the CSBplatform 202 where provider location, instance name, provide plan (e.g.,balanced or essential), technology (e.g., VCD, open stack, Eucalyptus),integration method (e.g., REST API, Web Services, JAVA API) ProvisioningAPI URL/, user name/password, Billing API/user name/password) areprovided via one or more pop-up screens.

Entries in the service catalog can also be managed through the resourcesolution center 221 discussed above in reference to FIG. 3B. Theresource solution center 221 can have selections available for enablinga user to add providers, plans and services such as, for example,through the respective process presented above in reference to FIGS.26-29, 30-33, and 34-37, respectively. Furthermore, through a suitableaction at the resource solution center 22, a new category and/orsub-category can be added. For example, selection of an Add Categorybutton (FIG. 38) causes a process for creating a new category (definedby category information 791) within the service catalog of the CSBplatform 202 to be initiated and selection of an Add Sub-category button792 (FIG. 39) causes a process for creating a new sub-category (definedby sub-category information 793) within the service catalog of the CSBplatform 202 to be initiated.

In view of the disclosures made herein, a skilled person will understandand appreciate that a service catalog configured in accordance to thepresent invention is not limited to any particular content. In thisregard, a service catalog configured in accordance to the presentinvention can comprise any necessary and suitable cloud serviceofferings as necessary or desired by a CSB platform user (e.g., cloudsolution architects, IT administrators, procurement managers,application developers, IT managers and the like).

Cost Allocation and Billing

Cost Apportioning in the context of embodiments of the present inventionrefers to apportioning individual bill items of a CSB bill to differentcloud service entities (e.g., VM, VDC, etc) to find the true cost of aresource within an enterprise. As discussed above in the CSB Platformuser interface section, a CSB platform configured in accordance with anembodiment of the present invention (e.g., the CSB platform 202)provides an IT architectural view of a cloud in the form of a “SinglePane of Glass” (e.g., under the IT architecture screen 492 of the VDCtab 404) to create and associate any given resource (e.g., an entitylike a VM) to different contexts. The entity that is created can then beassociated to an environmental context (e.g. Production, Development andTesting), or an architectural layer context (e.g. Web, Middleware andDatabase), or an software project layer to identify which softwareproject this entity belongs too. The ability to group resources under aparticular virtual data center is also provided. As a result, a CSBplatform configured in accordance with an embodiment of the presentinvention supports association (e.g., correlation) and viewing of costbreakups for various resources in detail within the given contexts forany given specific cloud service entity (VM, or VDC). Examples of thesecontexts for any given resource in the system include, but are notlimited to, resource group context, environment context, layer context,and VDC context.

FIG. 40 shows a method 800 for implementing cost apportioning inaccordance with an embodiment of the present invention. In oneimplementation, the method 800 for implementing cost apportioning can beimplemented from within one or more modules of the CSB platform 202. Forexample, the method 800 for implementing cost apportioning can beimplemented via a cost apportioning engine within the broker operationsmodule 238 (FIG. 3A) of the CSB platform 202.

The method 800 begins with a step 802 is performed for accessing (e.g.,retrieving, receiving, etc) consolidated order information for aprescribed time period (e.g., a prior month). Consolidated orderinformation refers to cloud service order information for a particularcloud service consumer. A step 804 is then performed for generating anestimated bill of materials (BOM) using the consolidated orderinformation, followed by a step 806 being performed for generating finalconsolidated billing information using the BOM. In this regard the finalconsolidated billing information is derived from the consolidated orderinformation. It is disclosed herein that the through billing managementlifecycle, the estimated BOM can be published as the actual bill, can beexported, updated and reloaded as the actual bill, and/or can go througha lifecycle of validation, review, and publish to become the finalconsolidated bill to the customer that comprises all or a portion of thefinal consolidated billing information. A step 808 is then performed forapportioning charges of the final consolidated billing information tovarious entities such as business unit (e.g., customer account),application, VDC, environment, architecture layer, etc. It I disclosedherein that apportioned cost can be presented in one or more dashboardsof a CSB platform configured in accordance with an embodiment of thepresent invention. For example, apportioned costs can be presented inthe VDC capacity cost trends dashboard 604 discussed above in referenceto FIG. 20 and/or a similar Applications capacity cost trends dashboard.

Apportioning charges of the final consolidated billing information tovarious cloud service entities entails using information from sourcessuch as, for example, the consolidated order, the estimated and actualcharges for each provider bill line item, cloud service to provider lineitem mapping, ‘then-current and up-to-date’ solution architecturemaintained (and synchronized) in CSB platform, cost apportioningpolicies (discussed below), customer overrides and configurations andthe like. Apportioning can also be based on considerations such as, forexample, utilization data for apportioning cost, time of service inaddition to capacity to determine the cost to apportion, and customweights as inputs from the user for a specific cloud service entity.

There are several prerequisites to cost apportioning that are taken intoconsideration when apportioning charges of the final consolidatedbilling information to various cloud service entities. A first one ofthese prerequisites relates to apportioning cost. Apportionment rulesspecify how a particular cost is to be split. The CSB platform ispre-configured with a default instance of a cost appointment policy thatcontains a set of appointment rules. When the cost apportioning engineruns, it inspects the bill item and looks at its metadata andcorrelation rules and determines which rules to apply for costing. Incertain implementations, the cost apportioning engine can be configuredfor enabling customization of the cost appointment policy and/or aspecific rule for a specific customer (e.g., picking a policy based onthe time the cost was incurred for time bound policy effectivenesschanges, picking a policy based on provider, usergroup and time). Asecond one of these prerequisites relates to residual cost, which can becapacity-based or utilization-based. In the case of capacity-basedresidual cost, residual cost is the unused cost that is present in theplatform (i.e., system). The unused cost is determined by subtractingthe configured capacity from the total capacity, then the cost iscalculated for the remaining capacity. The cost is determined based onthe configuration that is available from an associated provider. In thecase of utilization-based residual cost, the average utilization of VMsversus the configured capacity represents the unused utilizationcapacity. Residual cost can also be influenced by whether the cost is adirect or indirect cost. A direct cost is one where a charge is notapportioned to other entities in the system but is directly associatedwith the primary entity. For example, a cost for a specific VM isassociated to that VM and not apportioned (e.g., split) to otherentities in the system. An indirect cost is one where a bill line itemsuch as, for examples, subscription charges” is apportioned based oncapacity or evenly apportioned to all entities if capacity data is notavailable or proportional cost such as charges that are split based onthe original cost of the line item. A third one of these prerequisitesrelates to provider pricing models. Different providers have differentpricing models. For example, some providers charge for the number ofhours a particular sized VM is up and running whereas other providerssell capacity on a monthly basis and it is up to the consumer to carveout specific VM sizes. Based on the particular pricing model, it ispossible to understand how different charges need to be split at theprovider level. A fourth one of these prerequisites relates toidentifying the charges to be apportioned and the item (i.e., cloudservice entities) that it has to be associated to in the CSB platform(i.e., correlation between the charges and items). It should beunderstood that association is not apportioning but rather tells the CSBplatform that a particular bill item has been found as a valid existingresource within the CSB platform. This is valuable because, for example,a VM can be created through the CSB platform or it can be synchronizedsimilar to an external process, and this correlation step helps toresolve naming conflicts and identify the entity exactly in the CSBplatform. Accordingly, correlation helps to identify the cloud serviceentity, which in turn is useful for determining the best costapportioning rules to apply for a given bill item and cloud serviceentity that is identified.

For every bill line item assessed in association with implementing costapportioning, the following checks are made to correlate a resource(i.e., cloud service entity) and apportion respective costs.

Bill Resource Bill Entity Applicable Name (Contains) Name (Contains)Provider Apportioned To: Residual Policy License VDC Name Any All activeVMs within Not applicable. Examples Matches the bills service

 Specifically period dates; with Windows matching order Licenses catalogitem. Bus Mgmt Fee VDC Name Any VM's Not applicable. Examples MatchesVDC Name Any All Active VMS Not applicable. VM Name (virtual

 VM memory/machine Name/VDC system) in that Name resource group

 VM Name - Hard Disk 1

 VM Name Type: GraResource Examples Matches VDC Name Any All Active VMSin Not applicable. one of the that Specific Resource following GroupResource Group or Supplemental Supplemental Service Service Type:GraServiceInstance VDC Name VDC Name TRMRK or VM Configuration is AbsorbVintage Numerator/VDC residual cost (Compute & Configuration is at VDClevel Memory) Denominator only. VDC Name VDC Name TRMRK or VMConfiguration is Absorb Vintage Numerator/VDC residual cost (Compute,Configuration is at VDC level Memory & Denominator only. Storage) VDCName VDC Name Any All Active VMS in Absorb that vdc. residual cost atVDC level only. Account/Bill Bill Any All distinct count bill Notapplicable Details Summary items in that ID target bill summary

As mentioned above, the CSB platform can ship with a default costallocation policy (NeutralPolicy) that contains a pre-configured set ofapportioning rules and other information necessary for implementing costapportioning in accordance with an embodiment of the present inventionand can enable the default neutral policy can be customized for specificsituations (e.g., a particular cloud service consumer). One example ofan apportioning rule is a residual policy rule. This is a sub-rule forall the below rules, where in all the cases and wherever applicable, theresidual cost is inherently kept track of and apportioned to the VDC orall active resources with a different cost type flag. Another example ofan apportioning rule is a spend fee rule (i.e., a particular type of feerule). In the spend fee rule, the fee is for a group of bill items and,if that bill items has duplicate correlated items, then it is a count ofduplicated items to the overall total records. For example, if the billhas two VM charges and there are two other distinct charges, then thespend fee is uniquely charged as 2/4 For the VM and ¼ for the otherresources. These ratios are based on the total cost of the all theunique items versus the total items. Another example of an apportioningrule is a resource group rule in which a bill item is identified basedon the correlation an requires that it should be split to all theresources that is contained in that resource group. The bill item isdelegated to the capacity based rule for the individual resource groups.Another example of an apportioning rule is a resource services rule inwhich a bill item is delegated to the resource group rule. Anotherexample of an apportioning rule is a subscription rule in which the billitem is apportioned to the account that is associated for the bill itemof a particular cloud service consumer. Another example of anapportioning rule is a capacity rule in which it is necessary to how theprovider is configured in order to determine how to split an associatedcost. If the provider is capacity based, it is necessary to determinethe configured capacity for the individual VMS (virtual machine/memorysystem) for (CPU×Mem)+(Storage×Number of hours used) and the denominatoris a sum for all VMs. If the provider is usage based where usage meanshours used not utilization of CPU or Memory, it is necessary to identifythe configured capacity and hours utilized for an associated VM. If thecapacity information is not available, one approach is to rely on aneven split of all of the appropriate costs. Another example of anapportioning rule is a VM rule in which a correlated cost is assigneddirectly to an associated VM. Another example of an apportioning rule isa supplemental services rule in which a cost is assigned to all itemsunder an associated resource group. Another example of an apportioningrule is a direct VDC rule in which cost is assigned directly to anassociated VDC. Another example of an apportioning rule is a VDCresources rule in which cost is split to all resource groups/VMSs underan associated VDC. And is delegated in accordance with the capacitybased rule for the individual resource groups. Another example of anapportioning rule is a utilization rule in which cost is apportionedbased on the utilization of an associated VMS.

DETAILED DESCRIPTION SUMMARY

In view of the foregoing disclosures, a skilled person will appreciatethat embodiments of the present invention offer several beneficialconsiderations. One such consideration is enabling private cloud as aservice PaaS for enabling true IaaS for end customers in addition toIaaS for enterprise IT. Another such consideration is the ability toshift a private cloud from to a fulfillment model of service to endcustomers (business units and application teams) to a self-service modeloffering design, order, fulfillment and control. Another suchconsideration is enabling IT as a private cloud provider to publishprivate cloud into a cloud service model for self-service consumptionand equal footing with public cloud services thereby allowing enterpriseIT to compete in a healthy way with public clouds and provide best valueto their costumers (e.g., business units, application teams and thelike). Another such consideration is normalization of services andfunctionalities across disparate public cloud service models (e.g.,reserved capacity, pay-as-you-go, reserved instances, memory basedpricing, VM based pricing, etc.) and private cloud models for enabling‘apples-to-apples’ comparison and best-fit determination. Another suchconsideration is an ability to graphically design, view and maintain atruly hybrid and dynamic changing cloud solution. Another suchconsideration is an ability for cloud solution architects, ITadministrators, procurement managers, application developers, ITmanagers, and other constituents to collaborate and manage cloud basedsolutions across IaaS, PaaS, SaaS, Managed Services and other categoriesof cloud services through a scenarios concept (e.g., solution orapplication design). Another such consideration is automated Costallocation and chargeback to business units, applications, environments,architecture layers, virtual data centers etc such as, for example,loading a bill of charges for specific resources leads to systemdynamically computing and maintaining the allocations and chargebackbased on a dynamic continuously updated and architected inventory (e.g.,via a service catalog). Another such consideration is the ability toprovide for conception, implementation and, management of a‘Consolidated Services Order’ across cloud services and across multipleproviders with order components that have been built up over time. Forexample, in the cloud environment on a daily or sometimes hourly basis,new cloud services such as virtual machines (VM), additional capacity,additional storage and the like can be added or removed to takeadvantage of cloud agility and cost models. Another such considerationis enabling consolidated order functionality that provides the abilityfor an up-to-date ‘estimated’ bill of materials against which ‘actual’costs are tracked and allocated. Another such consideration isconception, implementation and management of a ‘consolidated bill’across the cloud services and across multiple providers for each monthfor each customer.

Although the invention has been described with reference to severalexemplary embodiments, it is understood that the words that have beenused are words of description and illustration, rather than words oflimitation. Changes may be made within the purview of claims supportedby the disclosures made herein, without departing from the scope andspirit of the invention in all its aspects. Although the invention hasbeen described with reference to particular means, materials andembodiments, the invention is not intended to be limited to theparticulars disclosed; rather, the invention extends to all functionallyequivalent technologies, structures, methods and uses such as are withinthe scope of the claims supported by the disclosures made herein.

What is claimed is:
 1. A system having a plurality of interconnectedplatform engine portions for providing cloud service brokeragefunctionalities, comprising: a first platform engine portion thatenables selection of cloud service offerings available from one or morecloud service providers through assessment of cloud service criteria; asecond platform engine portion that enables demand for cloud services tobe modeled using selected ones of the cloud service offerings; and athird second platform engine portion that enables virtual data centers(VDCs) to be instantiated by provisioning resources of the selected onesof the cloud service offerings.
 2. The system of claim 1 wherein thefirst platform engine portion further enables a particular capacity ofthe selected ones of the cloud service offerings to deploy to bedetermined.
 3. The system of claim 1 wherein assessment of cloud servicecriteria includes assessing a plurality of different cloud servicecriteria combinations.
 4. The system of claim 1 wherein the firstplatform engine portion further enables policies for scaling of capacityof the selected cloud service offerings based on business demand to bedefined.
 5. The system of claim 4 wherein the first platform engineportion further enables a particular capacity of the selected ones ofthe cloud service offerings to deploy to be determined.
 6. The system ofclaim 1 wherein the second platform engine portion further enables theselected ones of the cloud service offerings to be selected from withina platform-managed catalog of cloud service offerings that are availablefrom the one or more cloud service providers.
 7. The system of claim 6wherein: the selected ones of the cloud service offerings are selectedfrom a plurality of different ones of the cloud service providers; andthe second system platform portion further enables using theplatform-managed catalog to identify one or more preferred cloud serviceprovider from the plurality of different ones of the cloud serviceproviders.
 8. The system of claim 6 wherein the first platform engineportion further enables: policies for scaling of capacity of theselected ones of the cloud service offerings based on business demand tobe defined; and a particular capacity of the selected ones of the cloudservice offerings to deploy to be determined.
 9. The system of claim 1wherein the VDCs being instantiated by provisioning resources of theselected ones of the cloud service offerings includes provisioning theresources through a single interface.
 10. The system of claim 1 whereinthe VDCs being instantiated further includes provisioning of resourcesfrom at least one of a private cloud, a public cloud, an internal datacenter, and cloud services supported by resources different than thoseof the selected ones of the cloud service offerings.
 11. The system ofclaim 10 wherein the VDCs being instantiated by provisioning theresources includes provisioning the resources through a singleinterface.
 12. The system of claim 11 wherein the first platform engineportion further enables policies for scaling of capacity of the selectedones of the cloud service offerings based on business demand to bedefined.
 13. The system of claim 12 wherein the first platform engineportion further enables a particular capacity of the selected ones ofthe cloud service offerings to deploy to be determined.
 14. The systemof claim 10 wherein the second platform engine portion further enablesthe selected ones of the cloud service offerings to be selected fromwithin a platform-managed catalog of cloud services.
 15. The system ofclaim 14 wherein: the selected ones of the cloud service offerings areavailable from a plurality of different ones of the cloud serviceproviders; the second platform engine portion further enables using theplatform-managed catalog to identify one or more preferred cloud serviceproviders from the plurality of different ones of the cloud serviceproviders.
 16. The system of claim 14 wherein the first platform engineportion further enables: policies for scaling of capacity of theselected ones of the cloud service offerings based on business demand tobe defined; and a particular capacity of the selected ones of the cloudservice offerings to deploy to be determined.
 17. A non-transitorycomputer-readable storage medium having tangibly embodied thereon andaccessible therefrom instructions interpretable by at least one dataprocessing device, the instructions are configured for causing the atleast one data processing device to perform one or more operations for:selecting cloud service offerings available from one or more cloudservice providers through assessment of cloud service criteria; modelingdemand for cloud services using the selected cloud service offerings;and instantiating virtual data centers (VDCs) by provisioning resourcesof the selected cloud service offerings.
 18. The non-transitorycomputer-readable storage medium of claim 17 wherein the instructionsare further configured for causing the at least one data processingdevice to perform one or more operations for determining a particularcapacity of the selected cloud service offerings to deploy.
 19. Thenon-transitory computer-readable storage medium of claim 17 whereinassessment of cloud service criteria includes assessment of a pluralityof different cloud service criteria combinations.
 20. The non-transitorycomputer-readable storage medium of claim 17 wherein the instructionsare further configured for causing the at least one data processingdevice to perform one or more operations for defining policies forscaling of capacity of the selected cloud service offerings based onbusiness demand.
 21. The non-transitory computer-readable storage mediumof claim 17 wherein the instructions are further configured for causingthe at least one data processing device to perform one or moreoperations for selecting the cloud service offerings from within aplatform-managed catalog of cloud services.
 22. The non-transitorycomputer-readable storage medium of claim 17 wherein the VDCs beinginstantiated by provisioning resources of the selected cloud serviceofferings includes provisioning the resources of the selected cloudservice offerings through a single interface.
 23. The non-transitorycomputer-readable storage medium of claim 17 wherein the VDCs beinginstantiated further includes provisioning of resources from at leastone of a private cloud, a public cloud, an internal data center, andcloud services supported by resources different than those of theselected ones of the cloud service offerings.
 24. A system having aplurality of interconnected platform engine portions for providing cloudservice brokerage functionalities, comprising: a first platform engineportion for enabling a cloud service consumer to select cloud serviceofferings available from a plurality of different cloud serviceproviders through assessment of cloud service criteria; a secondplatform engine portion for enabling the cloud service consumer to modeldemand for cloud services using selected ones of the cloud serviceofferings; a third platform engine portion for enabling the cloudservice consumer to create and control virtual data centers (VDCs) byprovisioning resources of the selected ones of the cloud serviceofferings; a fourth platform engine portion for enabling the cloudservice consumer to manage applications that are using the selected onesof the cloud service offerings; a fifth platform engine portion forenabling the cloud service consumer to define application architecturesconfigurations; and a sixth platform engine portion for enabling thecloud service consumer to assess metrics for cloud service criteriaassociated with the provisioned resources of the selected ones of thecloud service offerings and with the application architecturesconfigurations.
 25. The system of claim 24 wherein the first platformengine portion further enables: policies for scaling of capacity of theselected ones of the cloud service offerings based on business demand tobe defined; and a particular capacity of the selected ones of the cloudservice offerings to deploy to be determined.
 26. The system of claim 25wherein the second platform engine portion further enables the selectedones of the cloud service offerings to be selected from within aplatform-managed catalog of cloud services.
 27. The system of claim 26wherein: the VDCs being created further includes provisioning ofresources from at least one of a private cloud, a public cloud, aninternal data center, and cloud services of resources different thanthose of the selected ones of the cloud service offerings; and the VDCsbeing instantiated by provisioning the resources includes provisioningthe resources through a single interface.
 28. The system of claim 24wherein: enabling the cloud service consumer to manage the applicationsincludes enabling the cloud service consumer to manage applicationsrunning across multiple cloud environments and internal data centers;and the fifth platform engine portion further enables automatedprovisioning of cloud resource changes.
 29. The system of claim 28wherein enabling the cloud service consumer to define applicationarchitectures configurations includes enabling the cloud serviceconsumer to define application architectures configurations usingvirtual appliances and associated resource capacity models.
 30. Thesystem of claim 24 wherein: the first platform engine portion furtherenables policies for scaling of capacity of the selected ones of thecloud service offerings based on business demand to be defined andenables a particular capacity of the selected ones of the cloud serviceofferings to deploy to be determined; enabling the cloud serviceconsumer to manage the applications includes enabling the cloud serviceconsumer to manage applications running across multiple cloudenvironments and internal data centers; and enabling the cloud serviceconsumer to define application architectures configurations includesenabling the cloud service consumer to define application architecturesconfigurations using virtual appliances and associated resource capacitymodels.
 31. The system of claim 24 wherein application architectureconfigurations defined through use of the fifth platform engine portionand information generated by the sixth platform engine portion as aresult of assessment of the metrics are jointly used by: the firstplatform engine portion for determining one or more policies used inenabling the cloud service consumer to select the cloud serviceofferings; the first platform engine portion to define the policies forscaling of capacity of the selected ones of the cloud service offerings;and the fourth platform engine portion for enabling the cloud serviceconsumer to manage the applications.